[r]
Trang 1Ths. Ph m Thanh An ạ
B môn Khoa h c máy tính Khoa CNTT ộ ọ
Tr ườ ng Đ i h c Ngân hàng TP.HCM ạ ọ
Trang 2d ng cây ụ
Cài đ t và th c hi n các phép toán trên cây, ặ ự ệ
đ c bi t là các phép toán trên cây nh phân nh ặ ệ ị ị phân tìm ki m.ế
Trang 3N i dung ộ
Đ nh nghĩa và các khái ni mị ệ
Trang 4Lá
G c ố
Nút
Trang 5Khái ni m v cây (tree) ệ ề
Là t p h u h n các nút (tree node), sao cho ậ ữ ạ
Có một nút gọi là nút gốc (root)
Các nút còn lại được phân hoạch thành n tập riêng biệt T1, T2 , , Tn, mỗi tập Ti là một cây
Giữa các nút có quan hệ phân cấp (hierarchical
relationship) gọi là “quan hệ cha con”
Cây không có nút g i là cây r ng (null tree) ọ ỗ
Trang 6B ng gi n đằ ả ồ
B ng danh sách (các d u ngo c l ng nhau)ằ ấ ặ ồ
B ng phằ ương pháp Indentatio
Trang 7Bi u di n cây ể ễ
B ng đ thằ ồ ị
/
A
D C
F
B
G
E
I H
J
Cây con
A
Trang 8B
D
G J
E H
I
Trang 9Bi u di n cây ể ễ
B ng danh sách (các d u ngo c l ng nhau) ằ ấ ặ ồ
(/( A (C (F), D (G ( J ) ) ) ), (B (E ( H, I ) ) ) )
( A ( B ( E ( K, L ), F ), C ( G ), D ( H ( M ), I, J ) ) )
K L
E F
B
G C
M
H I J
D
A
/ A
D C
F
B
G
E
I H
J
Trang 10C
F D
G
J
B
E
H I
/ A
D C
F
B
G
E
I H
J
Trang 11Các thu t ng ậ ữ
B c c a nút và b c c a cây ậ ủ ậ ủ
Nút A: bậc 3, nút C bậc 1
Bậc của cây: 3
Nút g c, Nút lá và nút nhánh ố
Nút cha (Parent), nút con
B
G C
M
D A
Trang 12/ A
D C
F
B
G
E
I H
J
A
D G
J
Trang 13Các thu t ng ậ ữ
M c c a nút và chi u cao c a câyứ ủ ề ủ
1
2
3
4
5
Root
Chi u cao c a ề ủ
cây: 5
Trang 14 T tiên ( ổ ancestors) c a m t nút ủ ộ
Tổ tiên của nút J
Con cháu (Descendant) c a m t ủ ộ
nút:
Con cháu của B
Các con c a cùng m t cha g i là ủ ộ ọ
anh em ru t ( ộ siblings)
/ A
D C
F
B
G
E
I H
J
Trang 15Cây có th t và R ng ứ ự ừ
Cây có th t (ordered tree)ứ ự
Một cây gọi là có thứ tự khi ta thay đổi vị trí của các cây con, ta nhận được một cây mới
R ng (forest)ừ
được một rừng gồm nhiều cây phân biệt
Trang 16Đ nh nghĩaị
Cây con trái Cây con ph i ả
Trang 17Cây nh phân ị
Cây nh phân bi u di n bi u th c toán h c ị ể ễ ể ứ ọ
Trang 18 S nút t i đa m c i trong cây 2 ố ố ứ i1
S nút t i đa trong cây là 2 ố ố h 1 (h chi u cao c a cây) ề ủ
1 2 3 4 5
Chi u cao c a cây h ề ủ
cây).
Trang 19Cây nh phân hoàn ch nh ị ỉ
/ A
D C
B
G
E I
Các nút ứng với các mức trừ mức cuối đều đạt tối đa,
ở mức cuối, các nút đều đạt về phía trái
Trang 20/ A
D C
B
E I
Các nút đạt tối đa ở cả mọi mức