같은 데이터를 배열과 링크드 리스트로 동시에 표현합니다. 메모리 배치와 포인터 구조의 차이를 직접 확인해 보세요.
스택(LIFO)과 큐(FIFO)는 가장 기본적인 선형 자료구조입니다. 함수 호출 스택, 프린터 대기열 등 실생활에서도 쓰입니다.
왼쪽 자식 < 부모 < 오른쪽 자식. 균형 잡힌 BST는 삽입·탐색·삭제 모두 O(log n)에 처리합니다.
키를 해시 함수로 변환해 버킷에 저장합니다. 평균 O(1) 탐색·삽입. 충돌은 체이닝으로 해결합니다.
힙은 완전 이진 트리 형태로, 부모 노드가 항상 자식보다 작은(Min-Heap) 또는 큰(Max-Heap) 자료구조입니다. 삽입과 최솟값 추출이 O(log n)으로, 우선순위 큐 구현에 사용됩니다.
서로소 집합(Disjoint Set) 자료구조입니다. 여러 원소를 집합으로 묶고, 두 원소가 같은 집합에 있는지 O(α(n)) ≈ O(1)에 판단합니다. 크루스칼 알고리즘, 네트워크 연결성 판단에 핵심적으로 사용됩니다.
배열의 구간 합(또는 최솟값/최댓값)을 O(log n)에 구할 수 있는 트리 자료구조입니다. 게임 랭킹, 주식 데이터 분석 등에 활용됩니다.
Binary Indexed Tree(BIT)라고도 합니다. 세그먼트 트리보다 구현이 간단하면서도 구간 합 쿼리와 점 업데이트를 O(log n)에 처리합니다. 내부적으로 비트 연산(i & -i)을 사용하는 것이 특징입니다.
문자열을 트리 구조로 저장하여 접두사 검색을 O(L) (L=문자열 길이)에 처리합니다. 자동완성, 사전, IP 라우팅에 사용됩니다.