[r]
(1)LOGO
Ths. 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ạ ọ
(2)d 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 ặ ệ ị ị
(3)N i dungộ
Đ nh nghĩa và các khái ni mị ệ Cây nh phânị
(4)Nhánh
Lá G cố
(5)Khái ni m v cây (tree)ệ ề
Là t p h u h n các nút (tree node), sao choậ ữ ạ
Có nút gọi nút gốc (root)
Các nút lại phân hoạch thành n tập riêng biệt
T1, T2 , , Tn, tập Ti
Giữa nút có quan hệ phân cấp (hierarchical
relationship) gọi “quan hệ cha con”
(6)B ng gi n đằ ả ồ
(7)Bi u di n câyể ễ
B ng đ thằ ồ ị
/ A D C F B G E I H J Cây con A
B C D
G H E F
(8)A
B
C F
D
G J
E H
(9)Bi 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
(10)(11)Cá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ây: 3
Nút g c, Nút lá và nút nhánhố Nút cha (Parent), nút con
(children) K L
E F B
G C
M
H I J D
(12)/ A
D C
F
B
G
E
I H
J A
D G
(13)Cá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 ề ủ
(14) T tiên (ổ ancestors) c a m t nútủ ộ
Tổ tiên nút J
Con cháu (Descendant) c a m t ủ ộ
nút:
Con cháu B
Các con c a cùng m t cha g i là ủ ộ ọ
anh em ru t (ộ siblings)
(15)Cây có th t và R ngứ ự ừ
Cây có th t (ordered tree)ứ ự
Một gọi có thứ tự ta thay đổi vị trí
của con, ta nhận
R ng (forest)ừ
Tập hợp hữu hạn phân biệt
Nếu bỏ nút gốc cây, ta thu
(16)Đ nh nghĩaị
(17)Cây nh phânị
(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ố ố h1 (h chi u cao c a cây)ề ủ
1 2 3 4 5
Chi u cao c a cây h ề ủ
log2N (N là s nút trong ố
(19)Cây nh phân hoàn ch nhị ỉ
/ A
D C
B
G
E I
G J
(20)/ A
D C
B
E I