트리구조
나뭇가지가 가지를 치며 뻗어나가듯한 모양으로 데이터를 저장하는 방식
나무를 뒤집어 놓은 모양으로 데이터 구조가 저장된다
- 명칭
- 노드 (node) : 트리구조를 형성하는 요소
- 엣지 (edge) : 노드와 노드를 연결하는 선. 가지(branch)
- 루트 노드 (root node) : 최상위 노드
- 리프 노드 (leaf node) : 하위 노드(자식노드)가 없는 최하위 노드
- 트리 깊이 : 루트노드에서 리프노드까지 거쳐야하는 단계의 개수
- 트리구조 종류
- 이진트리 (binary tree) : 하위 노드 개수가 2개로 제한한 트리구조
- N항트리 (N-ary tree / N-way tree) : 하위 노드 개수가 3개 이상인 트리구조
AVL 트리 (Adelson-Velskii and Landis' tree)
- 루트 노드를 중심으로 좌우 노드의 높이(깊이) 차이가 1 이하인 트리구조를 말한다.
- 즉 높이 차이가 거의 없는 트리구조를 말한다.
- 좌우 차이가 심한 경우 한쪽으로 비대칭한 구조가 되어 검색 효율성이 떨어진다.
- 이를 좌우높이 차이가 없도록 조정해주면 좀더 효율적인 트리구조로 변경된다.
'데이터구조와 알고리즘 > 개념정리' 카테고리의 다른 글
정렬 알고리즘2 - 선택정렬(Selection Sort) (0) | 2021.08.20 |
---|---|
정렬 알고리즘1 - 버블정렬(Bubble Sort) (0) | 2021.08.20 |
데이터구조 - Queue 큐 (0) | 2021.08.19 |
알고리즘 - 검색(선형검색, 이진검색) (0) | 2021.08.13 |
알고리즘 - 알고리즘의 기초(빅오표기법) (0) | 2021.08.12 |