Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 해시 구현
- 스택의 특징
- ㅣ풀이
- heap
- 백준
- 해시구현
- 5397
- 조세퍼스 순열
- 자료구조
- C/C++ 구현
- 1764
- 구현
- 버킷 정렬
- 백준 17779
- 백준 1158
- 풀이
- 별 찍기 10
- 원판 돌리기
- 백준 2447
- c#
- 게리멘더링2
- 백준 1406
- dfs
- 백준 17471
- 백준 5397
- qorwns
- 백준 17822
- 시간 복잡도
- AVL 시간 복잡도
- Stack 이란
Archives
- Today
- Total
홍시홍의 프로그래밍
AVL 균형 이진 탐색 트리(20200515 수정) 본문
1. AVL이란
BST의 단점(한쪽으로 치우치는 것)을 보완하기 위해 만들어진 균형 잡힌 이진 트리
각 노드의 BF(벨러스 백터) (왼쪽 서브 노드 높이 - 오른쪽 서브 노드 높이)가 -1,0,1 이 되어야한다.
2. 특징
균형 이진 트리를 유지하기 위해서 LL , RR, LR, RL 4가지의 경우 처리할 방법이 있다
LL은 오른쪽으로 이동
-> 현재 노드의 왼쪽 서브 트리 왼쪽에 삽입이 일어났을 경우
RR은 왼쪽으로 이동
-> 현재 노드의 오른쪽 서브 트리 오른쪽에 삽입이 일어났을 경우
LR 은 왼쪽으로 이동 후 오른쪽
-> 현재 노드의 왼쪽 서브트리 오른쪽에 삽입이 일어났을 경우
RL은 오른쪽으로 이동 후 왼쪽
-> 현재 노드의 오른쪽 서브트리 왼쪽에 삽입이 일어났을 경우
단점
삽입, 삭제가 빈번할 경우, 균형 유지가 어려워 진다
시간 복잡도
O(logn)
'자료구조' 카테고리의 다른 글
이진 탐색 트리 (0) | 2019.09.27 |
---|---|
해싱(Hashing) (0) | 2019.09.27 |
트리란?(Tree) (0) | 2019.09.25 |
연결리스트(List - 종류/정의/시간 복잡도) (0) | 2019.09.24 |
큐의 특징(Queue) (0) | 2019.09.24 |
Comments