Learning
토픽 70 / 76·비교표

## Part 3: 트리 자료구조

트리 vs 그래프

항목트리그래프
구조계층적, 사이클 없음일반적, 사이클 가능
루트존재없음
간선 수V-1 (정점 수-1)제한 없음
적용파일 시스템, DOM소셜 네트워크, 경로 탐색

이진 트리 vs 일반 트리

항목이진 트리일반 트리
자식 수최대 2개제한 없음
순회전위/중위/후위/레벨전위/후위/레벨
적용BST, 힙, 허프만파일 시스템, XML

트리 순회: 전위 vs 중위 vs 후위 vs 레벨

항목전위 (Preorder)중위 (Inorder)후위 (Postorder)레벨 (Level)
순서루트→좌→우좌→루트→우좌→우→루트층별 좌→우
적용복사, 직렬화정렬 순서 출력삭제, 후위식BFS
구현재귀/스택재귀/스택재귀/스택

BST vs AVL vs Red-Black

항목BSTAVLRed-Black
균형보장 안 함엄격 (높이 차 ≤1)느슨 (높이 2배 이내)
검색평균 O(log n), 최악 O(n)O(log n) 보장O(log n) 보장
삽입/삭제빠름 (불균형 가능)느림 (회전 빈번)빠름 (회전 적음)
회전없음삽입 시 많음삽입 시 적음
적용교육검색 빈번 환경Java TreeMap, Linux RB-tree

B-트리 vs B+트리

항목B-트리B+트리
데이터 위치모든 노드에 데이터리프 노드에만 데이터
리프 연결없음연결 리스트 (범위 쿼리)
검색중간 노드에서 종료 가능항상 리프까지 탐색
범위 쿼리비효율 (트리 재탐색)효율적 (리프 순회)
적용일반 인덱스DB 인덱스 (MySQL InnoDB)

해시 vs BST

항목해시 테이블BST
검색평균 O(1)O(log n)
정렬불가가능 (중위 순회)
범위 쿼리불가가능
최악O(n) (충돌)O(n) (편향)
적용캐시, 딕셔너리정렬 데이터, 범위 검색

힙 vs BST

항목BST
정렬 수준부분 정렬 (부모≥자식)완전 정렬 (좌<부모<우)
최대/최소O(1) 접근O(log n) 접근
삽입/삭제O(log n)평균 O(log n)
구조완전 이진 트리 (배열)이진 탐색 트리
적용우선순위 큐, 힙 정렬사전, 정렬 데이터

피보나치 힙 vs 이진 힙 vs 이항 힙

항목피보나치 힙이진 힙이항 힙
decrease-keyO(1) 상각O(log n)O(log n)
삽입O(1)O(log n)O(1) 상각
병합O(1)O(n)O(log n)
적용Dijkstra 최적화범용 우선순위 큐병합 필요 시

Splay vs AVL vs Red-Black

항목Splay TreeAVLRed-Black
균형자가 조정 (접근 시 루트 이동)엄격 균형느슨 균형
검색O(log n) 상각O(log n) 보장O(log n) 보장
특징자주 접근 데이터 빠름검색 최적삽입/삭제 최적
적용캐시, 자주 접근 패턴읽기 많은 DBSTL map, 커널