자료구조 목차 정리 페이지입니다. 아래 목차에서 각 자료구조로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
자료구조
선형 자료구조 (Linear Data Structures)
| 자료구조 이름 | 설명 |
|---|---|
| 배열 (Array) | 고정 길이 연속 메모리 블록. 인덱스로 O(1) 접근. |
| 동적 배열 (Dynamic Array) | 가변 길이 배열. 용량 초과 시 리사이즈. |
연결 자료구조 (Linked Data Structures)
| 자료구조 이름 | 설명 |
|---|---|
| 단일 연결 리스트 (Singly Linked List) | 한 방향 포인터로 노드 연결. |
| 이중 연결 리스트 (Doubly Linked List) | 양방향 포인터로 양쪽 탐색 가능. |
| 원형 연결 리스트 (Circular Linked List) | 마지막 노드가 첫 노드를 가리키는 순환 구조. |
스택
| 자료구조 이름 | 설명 |
|---|---|
| 스택 (Stack) | LIFO 구조. 함수 호출 스택, 괄호 검사 등에 사용. |
큐
| 자료구조 이름 | 설명 |
|---|---|
| 큐 (Queue) | FIFO 구조. 작업 스케줄링에 사용. |
| 덱 (Deque) | 양쪽에서 삽입/삭제가 가능한 큐. |
| 우선순위 큐 (Priority Queue) | 우선순위 기준으로 추출하는 큐. 힙으로 구현. |
트리 (Tree)
| 자료구조 이름 | 설명 |
|---|---|
| 이진 트리 (Binary Tree) | 각 노드가 최대 두 자식. |
| 이진 탐색 트리 (BST) | 좌<루트<우 정렬 성질을 가진 이진 트리. |
| AVL 트리 / 레드-블랙 트리 | 자가 균형 BST로 O(log n) 연산 보장. |
| 세그먼트 트리 (Segment Tree) | 구간 질의/업데이트용 트리. |
| 펜윅 트리 (Fenwick / BIT) | 누적 합을 O(log n)으로 처리. |
| B-트리 / B+트리 | 디스크 기반 데이터베이스에 적합한 균형 트리. |
| 힙 트리 (Heap Tree) | 완전 이진 트리로 최소/최대 힙 속성 유지. |
그래프 (Graph)
| 자료구조 이름 | 설명 |
|---|---|
| 인접 리스트 (Adjacency List) | 희소 그래프 표현에 적합. |
| 인접 행렬 (Adjacency Matrix) | 조밀 그래프나 간선 유무 빠른 확인에 적합. |
| 방향/무방향 그래프 | 간선의 방향성 여부에 따른 구분. |
| 가중 그래프 | 간선에 가중치가 있는 그래프. |
힙 (Heap)
| 자료구조 이름 | 설명 |
|---|---|
| 최소 힙 / 최대 힙 | 루트가 최소/최대값을 보장. 우선순위 큐 구현. |
| 피보나치 힙 | 합치기 연산을 효율화한 힙. |
해시 기반 자료구조 (Hash-based Data Structures)
| 자료구조 이름 | 설명 |
|---|---|
| 해시 테이블 | 해시 함수를 이용한 평균 O(1) 탐색. |
| 체이닝 (Chaining) | 해시 충돌 시 연결 리스트로 버킷 관리. |
| 개방 주소법 (Open Addressing) | 충돌 시 탐사로 빈 버킷을 찾는 방식. |
집합 및 맵 (Set & Map)
| 자료구조 이름 | 설명 |
|---|---|
| HashSet / HashMap | 해시 기반 집합/맵. 평균 O(1) 연산. |
| TreeSet / TreeMap | 균형 BST 기반. 정렬 상태 유지, O(log n) 연산. |
| Ordered Map | 삽입 순서를 보존하는 맵 구현. |
특수 목적 자료구조 (Specialized Data Structures)
| 자료구조 이름 | 설명 |
|---|---|
| 트라이 (Trie) | 문자열 접두사 검색에 최적화된 트리. |
| 유니온-파인드 (Disjoint Set) | 집합 합치기/찾기 연산을 거의 O(1)에 처리. |
| 블룸 필터 (Bloom Filter) | 확률적 집합 판단. 오탐 가능, 누락 없음. |
자신만의 철학을 만들어가는 중입니다.
댓글남기기