일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Intellj
- Spring
- feign
- Jenkins
- Spring Boot
- 쿼리
- SQL
- 알고리즘
- 클라우드
- retry
- JPA
- 디자인 패턴
- db
- DP
- 운영체제
- PL/SQL
- 자바
- 오라클
- 코딩
- MST
- 자료구조
- 백준
- golang
- MVC
- 데이터베이스
- Spring Cloud
- 페이징
- Kafka
- aws
- Spring Cloud Feign
- Today
- Total
justgo_developer
검색트리(Search Tree) 본문
검색트리(Search Tree)
트리(Tree)란?
-계층적인 구조를 표현
(조직도,디렉토리와 서브디렉토리 구조, 가계도)
트리는 노드(node)들과 노드들을 연결하는 링크(link)들로 구성됨.
부모(parent)-자식(child) 관계
형제관계 :부 모가 동일한 노드들
리프(leaf) 노드 : 자식이 없는 노드들
내부(internal)노드 : 리프노드가 아닌것
조상-자손관계 : 부모-자식 관계를 확장한 것
부트리(subtree)
레벨(level)
트리의 높이는 : 서로다른 노드의 갯수
트리의 기본적인 성질
-노드의 n개일때 링크의 갯수는 n-1이다.
-트리에서 루트에서 어떤 노드로 가는 경로는 유일하다. 또한 임의의 두노드간의 경로도 유일하다.
이진트리(binary tree)
-이진트리에서 각 노드는 최대 2개의 자식을 가진다.
-각각의 자식 노드는 자신이 부모 왼쪽 자식인지 오른쪽 자식인지가 지정된다.
ex)Huffman code
Full and Complete Binary Trees
높이가 h인 full binary tree는 2^h-1개의 노드를 가진다.
노드가 N개인 full 혹은 complete 이진트리의 높이는 o(lonN)이다.
이진트리의 표현
-연결구조(Linked Structure) 표현
:각 노드에 하나의 데이터필드와 왼쪽자식(left),오른쪽자식(right) 그리고 부모노드(p)의 주소를 저장
left |
data |
p |
right |
이진트리의 순회(traversal)
-순회 : 이진 트리의 모든 노드를 방문하는 일
-중순위(inorder) 순회
-선순위(preeorder) 순회
-후순위(postorder) 순회
-레벨오더(level-order) 순회 : 레벨 순으로 방문, 동일 레벨에서는 왼쪽에서 오른쪽 순서로 / 큐를 이용하여 구현
'IT > 알고리즘' 카테고리의 다른 글
순환(recursion) (0) | 2018.01.02 |
---|---|
BFS(Breath-First Search, 너비우선순회) (0) | 2018.01.02 |
그래프 알고리즘(Graph) (0) | 2018.01.01 |
레드블랙트리(red black tree) -1 (0) | 2018.01.01 |
이진검색트리(Binary Search Tree) (0) | 2017.12.30 |