Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 123 trang )
AVL Tree – Ví dụ
100
AVL Tree ?
Chương 7: Cây (Tree)
AVL Tree?
AVL Tree
101
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)
Chương 7: Cây (Tree)
Ví dụ - Chỉ số cân bằng của nút
1 10
-1 7
0 3
0 1
0 5
-1 40
0 8
-1 30
1 20
45 1
0 35
0
25
•What is the balance factor for each node in this AVL tree?
•Is this an AVL tree?
Chương 7: Cây (Tree)
0
60
AVL Tree – Ví dụ
103
Chương 7: Cây (Tree)
AVL Tree – Biểu diễn
104
#define RH
#define EH
#define LH
*/
1
0
-1
/* Cây con phải cao hơn
*/
/* Hai cây con bằng nhau */
/* Cây con trái cao hơn
struct AVLNode{
char balFactor;
// Chỉ số cân bằng
DataType
data;
AVLNode*
pLeft;
AVLNode*
pRight;
};
typedef AVLNode* AVLTree;
Chương 7: Cây (Tree)