728x90
트리
- Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조
- 이진트리 (Binary Tree 형태, 가장 많이 쓰임)로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨
용어
- Node : 트리에서 데이터를 저장하는 기본 요소 (Branch 정보 포함)
- Root Node : 트래 맨 위에 있는 노드
- Level : 최상위 노드를 Level 0으로 하여, 하위 Branch로 연결된 노드의 깊이
- Parent Node : 어떤 노드의 다음 레벨에 연결된 노드
- Child Node : 어떤 노드의 상위 레벨에 연결된 노트
- Leaf Node (Terminal Node) : Child Node가 하나도 없는 노드
- Sibling (Brother Node) : 동일안 Parant Node를 가진 노드
- Depth : 트리에서 Node가 가질 수 있는 최대 Level
- 이진트리 : 노드의 최대 Branch가 2인 트리
- 이진탐색트리 BST Binary Search Tree : 이진 트리에 조건이 붙은 트리
- 조건 : 왼쪽 노드는 해당 노드보다 작은 값을 가지고 오른쪽 노드는 해당 노드보다 큰 값을 가지고 있음
- 데이터 검색(탐색)에 자주 쓰임
이진트리탐색과 배열의 탐색 비교
728x90
'자료구조&알고리즘' 카테고리의 다른 글
[알고리즘] Recursive, 재귀 용법, 재귀 함수 사용 (0) | 2022.09.26 |
---|---|
[자료구조] 힙 Heap (0) | 2022.09.01 |
[자료구조] 해쉬 테이블 (Hash Table) (0) | 2022.08.19 |
[자료구조] 큐 Queue, 스택 Stack (0) | 2022.07.05 |
[자료구조] 배열 Python list (0) | 2022.07.05 |