딕셔너리(Dictionary) / 맵(Map)이란? 딕셔너리 또는 맵은 키(Key)와 값(Value) 쌍으로 데이터를 저장하는 자료구조입니다. 각 키는 유일하며, 이를 통해 해당하는 값을 빠르게 검색할 수 있습니다. 딕셔너리/맵의 주요 특징 키-값 쌍: 데이터는 키와 값의 쌍으로 구성되어 있습니다. 유일한 키: 각 키는 고유하며, 중복을 허용하지 않습니다. 데이터 접근: 키를 사용하여 해당 값에 빠르게 접근할 수 있습니다. 딕셔너리/맵의 주요 연산 삽입(Insertion): 새로운 키-값 쌍을 추가합니다. 삭제(Deletion): 주어진 키와 관련된 항목을 삭제합니다. 검색(Search): 특정 키를 사용해 해당 값에 접근합니다. 수정(Update): 특정 키의 값을 수정합니다. 딕셔너리/맵의 활용 사례..
자료구조 & 알고리즘
세트(Set)란? 세트는 중복을 허용하지 않는 고유한 요소들의 집합입니다. 수학적 집합 개념을 컴퓨터 과학에서 구현한 것으로, 데이터의 유일성이 보장됩니다. 세트의 주요 특징 고유성: 세트 내의 모든 요소는 중복되지 않습니다. 비순서성: 세트 내 요소들은 특정한 순서로 저장되지 않습니다. 세트의 주요 연산 삽입(Insertion): 새로운 요소를 세트에 추가합니다. 삭제(Deletion): 세트에서 요소를 제거합니다. 멤버십 테스트(Membership Test): 특정 요소가 세트에 속해 있는지 확인합니다. 합집합(Union): 두 세트의 요소를 모두 포함하는 새로운 세트를 생성합니다. 교집합(Intersection): 두 세트에 공통으로 포함된 요소만을 가지는 세트를 생성합니다. 차집합(Differen..
힙(Heap)이란? 힙은 완전 이진 트리를 기반으로 하는 자료구조로, 각 노드의 키 값이 그 자식 노드의 키 값보다 항상 크거나(최대 힙) 혹은 항상 작은(최소 히프) 특성을 가집니다. 힙은 우선순위 큐, 힙 정렬 등 다양한 알고리즘과 데이터 처리에 사용됩니다. 힙의 특징 완전 이진 트리: 모든 레벨이 완전히 채워져 있으며, 마지막 레벨을 제외하고 왼쪽부터 채워집니다. 힙 속성: 모든 부모 노드는 그 자식 노드보다 큰(또는 작은) 키 값을 가집니다. 힙의 종류 최대 힙(Max Heap): 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큽니다. 최소 힙(Min Heap): 부모 노드의 키 값이 자식 노드의 키 값보다 항상 작습니다. 힙의 주요 연산 삽입(Insertion): 새로운 요소를 추가하며, 힙..
해시 테이블(Hash Table)이란? 해시 테이블은 키(Key)를 값(Value)에 매핑하는 자료구조입니다. 고유한 해시 함수를 사용해 키를 해시 코드로 변환하고, 이를 사용해 데이터를 저장 및 검색합니다. 해시 테이블의 주요 특징 효율적인 데이터 저장 및 검색: 평균적으로 O(1)의 시간 복잡도를 가집니다. 해시 함수: 키를 해시 테이블의 인덱스로 변환하는 함수입니다. 충돌(Collision): 두 개 이상의 키가 같은 인덱스에 매핑되는 경우를 말합니다. 해시 테이블의 구현 해시 함수의 선택: 좋은 해시 함수는 충돌을 최소화하고 균등한 데이터 분포를 제공합니다. 충돌 해결 기법: 체이닝(Chaining): 각 인덱스에 연결 리스트를 사용하여 충돌을 해결합니다. 오픈 어드레싱(Open Addressin..