C u trúc d li u và thu t gi i
C U TRÚC D LI U VÀ GI I THU T 1
Click To Edit Master Title Style
C U TRÚC D LI U VÀ GI I THU T 1
1
N I DUNG
CÂY NH PHÂN TÌM KI M CÂN B NG
C u trúc d li u và thu t gi i
C U TRÚC D LI U VÀ GI I THU T 1
Click To Edit Master Title Style
C U TRÚC D LI U VÀ GI I THU T 1
2
Ð nh nghĩa
Cây nh pnm ki mn b ng là cây ế mà t i m i t
c a đ cao c a y con trái và c a cây con ph i
chênh l ch không q m t
Ví d :
44
23 88
13 37 59 108
15 30 40 55 71
C u trúc d li u và thu t gi i
C U TRÚC D LI U VÀ GI I THU T 1
Click To Edit Master Title Style
C U TRÚC D LI U VÀ GI I THU T 1
3
T ch c d li u
Ch s cân b ng = đ l ch gi a cây trái và
cây ph i c a m t nút
Các giá tr h p l :
CSCB(p) = 0 Đ cao cây trái (p) = Đ cao
cây ph i (p)
CSCB(p) = 1 Đ cao cây trái (p) < Đ cao
cây ph i (p)
CSCB(p) = -1 Đ cao cây trái (p) > Đ
cao cây ph i (p)
C u trúc d li u và thu t gi i
C U TRÚC D LI U VÀ GI I THU T 1
Click To Edit Master Title Style
C U TRÚC D LI U VÀ GI I THU T 1
4
T ch c d li u(tt)
#define LH -1 //cây con trái cao h nơ
#define EH 0 //cây con trái b ng cây con ph i
#define RH 1 //cây con ph i cao h n ơ
typedef struct tagAVLNode
{char balFactor; //ch s cân b ng
Data key;
struct tagAVLNode* pLeft;
struct tagAVLNode* pRight;
}AVLNode;
typedef AVLNode *AVLTree;
C u trúc d li u và thu t gi i
C U TRÚC D LI U VÀ GI I THU T 1
Click To Edit Master Title Style
C U TRÚC D LI U VÀ GI I THU T 1
5
Các tr ng h p m t cân b ng do l ch tráiườ
T
R
T1
R1
L1
T
R
T1
T2
L1
R21
L21
Cây m t cân b ng t i nút T
TH1: Left-Left TH2: Left-Right