| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 국제 유가
- 상승
- 안전 시스템 강화
- 정비 인력 확충
- 비행기 포비아
- 개선안
- 항공사고
- Equotip Piccolo
- 소비자 불안
- 한국석유공사
- 세미허브
- Equotip Bambino
- proceq Leeb
- 항공 안전
- 검색엔진최적화
- 경도계
- 구글검색순위상승
- 특별점검 회의
- SEO
- 유류 수송 비용
- 오피넷
- 신뢰도 급락
- proceq 경도계
- proceq equotip
- 백링크
- proceq
- 검색어순위
- Equotip 550
- 대응 방안
- 변동성
- Today
- Total
개발 및 기술 블로그
[자료구조] 이진탐색, Splay, AVL, BB트리 본문
1. 이진 탐색 트리
-이진 탐색트리 :== 트리에서 특정 데이터의 효과적인 검색을 위해 제한점을 가지는 이진트리
-특정 데이터를 검색하고, 노드를 삽입/삭제하는 응용 문제에 가장 효과적인 트리
-탐색에 최적화된 이진 트리
-키: 이진 트리 노드의 데이터
이진 탐색 트리의 특징
- 왼쪽 서브트리에 있는 모든 노드의 자식 키값은 작다.
- 반대로 서브트리에 있는 모든 노드의 자식 키값은 크다.

이진 탐색 트리의 단점
- BS 트리의 성능은 트리의 구조와 특정 노드에 접근할 확률에 영향을 받음
- 트리의 성능이 구조에 영향을 받기 때문에 최적의 BS 트리구조를 결정하기 어려움
좋은 성능의 BS 트리를 구축하는 방법(휴리스틱)
- 자주 탐색하는 키를 가진 노드를 트리의 루트에 가깝게 놓는다.
- 트리가 균형이 되도록 유지한다. 즉, 각 노드에 대해 왼쪽과 오른쪽 서브트리가 가능한 한 같은 수의 노드를 갖게 한다.
2. Splay 트리
-Splay트리 :== 자주 탐색하는 키를 가진 노드를 루트에 가깝게 위치하도록 구성한 BS트리
-휴리스틱 알고리즘을 사용
- 이 트리는 Splay 연산을 적용하여 최근에 접근한 노드를 루트에 위치시켜 트리를 재구성한다.
Splay 트리의 연산


- zig: p가 트리의 루트면 p와 x의 간선 연결을 회전시킨다.
- zig-zag: p가 루트가 아니고 x와 p가 동일하게 왼쪽 자식들 또는 오른쪽 자식들이면 p와 조부모 g와의 간선 연결을 회전시키고 그 다음에 x와 p의 간선 연결을 회전시킨다.
3. AVL 트리
- 제한 조건을 완화하여 트리가 균형이 아닌 것을 허용함
- 무너진 균형의 정도는 작아야함, 평균 탐색 길이도 완전 균형 트리의 탐색 길이와 크게 차이가 나지 않아야 함
- 거의 완전한 균형 트리의 한 형태로 높이가 균형잡힌 높이 균형 트리
-직접 탐색 성능이 매우 좋음
AVL 트리의 조건
-AVL 조건: 노드의 왼쪽 서브트리 높이와 오른쪽 서브트리 높이가 최대 1만큼 차이가 남

4. BB트리
- BB 트리 :== 거의 완전히(대략) 균형 잡힌 트리의 다른 종류로 무게가 균형잡힌 트리
- 각 노드의 양쪽 서브트리 무게가 균형을 유지하는 트리
균형 트리
-AVL 또는 BB 트리에 대하여 각각 무게 또는 크기 제한 조건을 만족시키는데 드는 비용은 트리를 완전히 균형 잡히게 유지하는 비용이나 노력보다 훨씬 작음
- 삽입이나 삭제 후에 트리를 완전히 균형 잡히게 유지하기 위해서는 O(n)의 노드를 옮겨야 하는 반면에 AVL 또는 BB 트리는 O(log2n) 개의 노드를 옮기면 되는 것으로 알려져 있음
'Computer Science' 카테고리의 다른 글
| [자료구조] 선택트리, 숲, 이진 트리 개수 (0) | 2021.10.29 |
|---|---|
| [자료구조] Heap 힢 (0) | 2021.10.25 |
| Prototype Chain 그리고 Class (0) | 2020.09.09 |
| 객체 지향 프로그래밍(Object Oriented Promgramming) (0) | 2020.09.09 |
| 재귀함수 (0) | 2020.08.31 |