반응형
c언어 이진탐색트리 (Binary Search Tree)
[C언어 #69] 이진탐색트리 (Binary Search Tree) - 구현 (1) - 노드 생성, 노드 삽입
[C언어 #69] 이진탐색트리 (Binary Search Tree) - 구현 (2) - 노드 탐색
[C언어 #69] 이진탐색트리 (Binary Search Tree) - 구현 (3) - 노드 삭제
[C언어 #69] 이진탐색트리 (Binary Search Tree) - 구현
I 이진탐색트리 (Binary Search Tree)
숫자와 같은 데이터를 체계적으로 저장하기 위한 노드 (node) 기반의 이진 트리 형태의 자료구조
- 노드 저장소의 왼쪽 서브 트리에는 작은 수를 가진 노드만 존재
- 노드 저장소의 오른쪽 서브 트리에는 큰 수를 가진 노드만 존재
- 노드 저장소의 양쪽 노드 역시 이진탐색트리 구조
- 중복 노드는 존재 X
I 이진탐색 (Binary Search)
이진탐색에서는 'n' 개의 요소에서 시작하여 중간값(mid element)을 지정하고 'n/2'개 요소의 중간값을 찾아나간다.
탐색은 해당 값을 찾거나 값이 하나도 남지않을 때까지 지속한다.
I 이진탐색트리(Binary Search Tree)에서의 탐색
탐색을 뿌리 위치(root)에서 시작하여 탐색값과 노드저장소의 값을 비교하여 한쪽 서브트리를 제거하며 순회한다.
'n'개의 노드에서 한쪽을 제거하면 'n/2'개의 노드에서 탐색을 진행하며 값을 가지고 있는 노드를 찾거나, 하나의 노드만 남아있을때까지 지속한다.
반응형
'C 언어 > C언어 기초' 카테고리의 다른 글
[C언어 #70] 이진탐색트리 (Binary Search Tree) - 구현 (2) - 노드 탐색 (0) | 2020.11.05 |
---|---|
[C언어 #70] 이진탐색트리 (Binary Search Tree) - 구현 (1) - 노드 생성, 노드 삽입 (0) | 2020.11.05 |
[C언어 #68] 트리 (tree) - 필요성 (0) | 2020.09.19 |
[C언어 #67] 동적할당 - 문자열 - string.h 활용 (0) | 2020.09.15 |
[C언어 #66] 동적할당 - 문자열 - 비교, 포함여부 판단 (0) | 2020.09.12 |