계층적 관계를 갖는 자료구조
노드(Node)와 선분(Branch)로 구성
● 용어
- 디그리 : 노드에서 뻗어나온 가지 수
- 근 노드 : 맨 위에 있는 노드
- 자식 노드 : 해당 노드의 하위 레벨에 있는 노드
- 부모 노드 : 해당 노드의 상위 레벨에 있는 노드
- 형제 노드 : 동일한 부모를 갖는 노드(같은 레벨)
- 단말 노드 : 자식이 하나도 없는 노드
1. 이진트리(Binary Tree)
- 완전이진트리(Complete Binary Tree)
- 정이진트리(Full Binary Tree) : 자식노드의 수는 0이거나 2인 트리 (자식노드가 하나만 있으면 안됨)
- 포화이진트리(Perfect Binary Tree) : 모든 노드가 자식노드 수가 2인 트리
2. 이진탐색트리(Binary Search Tree)
이진탐색 + 연결리스트
자식의 갯수는 2이하여야 하고 노드는 중복되지 않아야 한다.
부모노드는 왼쪽 자식의 노드보다 크고 오른쪽 자신의 노드보다 작다 (왼쪽자식 < 부모 < 오른쪽자식)
중위순회를 적용할 시 오름차순이 된다.
평균 검색시 : O(logn)
최악 검색시 : O(n)
3. 트라이 트리(Trie Tree)
문자열에서 검색을 빠르게 도와주는 이진탐색트리 구조
문자열의 길이가 n일때 검색시 : O(n)
'CS이론 > 자료구조' 카테고리의 다른 글
비선형 구조 - 힙 (0) | 2020.11.20 |
---|---|
비선형 구조 - 그래프 (0) | 2020.11.16 |
해시 테이블 (0) | 2020.07.04 |
선형 구조 - 스택, 큐 (0) | 2020.07.04 |
선형 구조 - 배열, 연속 리스트, 연결 리스트 (0) | 2020.07.04 |