Cây AVL
Đánh giá tìm ki mế
1
1, 2, 3, 4, 5 1
2
3
4
5
Cây AVL
Gi i thi u AVL Tree
Ph ng pháp chèn ươ trên CNPTK có th có nh ng bi n d ng ế
m t cân đi nghiêm tr ng
Chi phí cho vi c tìm ki m ế trong tr ng h p x u nh t đt t i ườ
n
VD: 1 tri u nút chi phí tìm ki m =ế 1.000.000 nút
N u có m t cây tìm ki m nh phân cân b ng hoàn toàn, ế ế chi
phí cho vi c tìm ki m ế ch x p x log2n
VD: 1 tri u nút chi phí tìm ki m =ế log21.000.000 20 nút
G.M. Adelson-Velsky và E.M. Landis đã đ xu t m t tiêu
chu n cân b ng (sau này g i là cân b ng AVL)
Cây AVL có chi u cao O(log2(n))
2
Cây AVL
AVL Tree - Đnh nghĩa
3
Cây nh phân tìm ki m cân b ng (AVL) là cây mà ế t i m i
nút đ cao c a cây con trái và c a cây con ph i chênh l ch
không quá m t44
23 88
13 37 59 108
15 30 40 55 71
Cây AVL
AVL Tree – Ví d
4
AVL Tree ? AVL Tree?
Cây AVL
AVL Tree
Ch s cân b ng c a m t nút:
Đnh nghĩa: Ch s cân b ng c a m t nút là hi u c a chi u cao
cây con ph i và cây con trái c a nó
Đi v i m t cây cân b ng, ch s cân b ng (CSCB) c a m i
nút ch có th mang m t trong ba giá tr sau đây:
CSCB(p) = 0 Đ cao cây ph i (p) = Đ cao cây trái (p)
CSCB(p) = 1 Đ cao cây ph i (p) > Đ cao cây trái (p)
CSCB(p) = -1 Đ cao cây ph i (p) < Đ cao cây trái (p)
5