트리 자료 구조
- 데이터 베이스는 내부적으로 대용량 데이터 처리에 적합한 트리 자료구조를 이용하여 항상 데이터가
정렬되어있다.
- 노드와 노드의 연결로 표현하며 노드는 정보의 단위로서 어떠한 정보를 가지고 있는 개체이다.
- 그래프 자료구조의 일종이다.
- 트리는 부모 노드와 자식 노드의 관계로 표현된다.
- 트리의 최상단 노드를 루트 노트라고 한다.
- 트리의 최하단 노드를 단말 노드라고 한다.
- 트리에서는 일부를 떼어내도 트리 구조이며 이를 서브 트리라 한다.
- 트리는 파일 시스템과 같이 계층적이고 정렬된 데이터를 다루기에 적합하다.
큰 데이터 처리를 요구하는 소프트웨어는 대부분 데이터를 트리 자료구조로 저장해서
이진탐색과 같은 탐색 기법을 이용해 빠르게 탐색이 가능하다.
이진 탐색 트리
- 이진 탐색이 동작 할 수 있도록 고안된, 효율적인 탐색이 가능한 자료구조이다.
- 모든 트리가 다 이진 탐색 트리는 아니다.
1. 부모 노드보다 왼쪽 자식 노드가 작다.
2. 부모 노드보다 오른쪽 자식 노드가 크다.
왼쪽 자식노드 < 부모노드 < 오른쪽 자식노드
찾는 원소값이 14일 때 이진 탐색트리의 과정을 살펴보자.
1. 부모 노드와 찾는 원소값 14 를 비교하자, 원소값 14는 부모노드 보다 크다.
2. 왼쪽 자식 노드는 부모노드 보다 작다. 따라서 원소값 14보다 작다.
3. 따라서 왼쪽 자식 노드는 모두 버리고 오른쪽 자식 노드를 방문한다.
위 과정을 반복하여 원소값 14를 찾아보자.
1) 루트 노드 10은 원소값 14보다 작다. -> 왼쪽 노드를 전부 버리고 오른쪽 노드 17을 방문하여 부모노드는 17이 된다.
2) 부모 노드 17은 원소값 14보다 크다. -> 오른쪽 노드를 전부 버리고 왼쪽 노드 14를 방문한다.
3) 방문한 노드와 원소값이 같다. 탐색 종료
'ComputerScience > 자료구조' 카테고리의 다른 글
자료구조 - HEAP [완전이진트리, 힙, 우선순위 큐] (0) | 2020.11.04 |
---|---|
자료구조 - 이진탐색 (0) | 2020.09.21 |
자료구조 - 정렬 [선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬] (0) | 2020.09.04 |
자료구조 - 탐색알고리즘 BFS (0) | 2020.08.25 |
자료구조 - 탐색알고리즘 DFS (0) | 2020.08.19 |