power point 10
Trang 1Đ TÀI: Ề XÓA NÚT TRÊN CÂY NH PHÂN Ị
Sinh viên: Nguy n M nh Ti n ễ ạ ế
L p: 62ccth04 ớ
Giáo viên h ướ ng d n: Cô Lê Th Hoa ẫ ị
Trang 2Cây nh phân ị
• Cây có g c m i đ nh có không quá hai ố ỗ ỉ
con đ ượ c g i là cây nh phân ( ọ ị binary tree).
• Cây nh phân mà m i đ nh trong có đúng ị ỗ ỉ
hai con đ ượ c g i là cây nh phân đ y ọ ị ầ
đ ( ủ full binary tree)
.Cây nh phân tìm ki m (CNPTK) là cây nh phân trong đó t i ị ế ị ạ
m i nút, khóa c a nút đang xét l n h n khóa c a t t c ỗ ủ ớ ơ ủ ấ ả các nút thu c cây con trái và nh h n khóa c a t t c các ộ ỏ ơ ủ ấ ả nút thu c ộ cây con ph i ả
• Cây nh phân có m c lá chênh nhau ị ứ
không quá 1 m c(đ cao cây) ứ ộ
thì g i là cây nh phân cân b ng ọ ị ằ
Trang 3* A là g c B,E,F là g c cây con c a A ố ố ủ
* A là cha c a B,E,F B,E,F là con c a A ủ ủ
* A có c p là 3 C,D,E, F có c p là 0 B có c p là 2 ấ ấ ấ
* Nút lá (c p =0): C,D,E,F là lá ấ
* B là nút nhánh.
* Đ ườ ng đi:
Đ ườ ng đi t A đ n C c đ dài là s các nút (3)-1=2 ừ ế ố ộ ố
Đ ườ ng đi t A đ n E c đ dài là s các nút (2)-1=1 ừ ế ố ộ ố
A
C
F D
B
E
Trang 4• Hai cây con sau đây là 2 cây con có th t khác nhau ứ ự
Đối với cây, ngoài quan hệ cha con người ta còn mở rộng phỏng theo quan hệ trong gia tộc.
Rừng : Nếu có một tập hữu hạn các cây phân biệt thì ta gọi tập đó
là rừng.
C
A
A
C
Trang 5* Cây nh phân suy bi n có ị ế dạng m t danh sách tuy n ộ ế
tính.
D
C
B
A
D C B A
a b c d
a là cây lệch trái b là cây lệch phải, c, d là cây zíc zắc.
D C
B A
D
C B
A
Trang 6* Cây nh phân hoàn ch nh: là cây nh ị ỉ ị phân mà các nút các m c tr m c ở ứ ừ ứ
cu i đ u đ t t i đa ố ề ạ ố
Ví d : ụ
Trang 7Cây nh phân đ y đ : Là cây nh phân có các nút ị ầ ủ ị
t i đa m i m c ố ở ọ ứ
Ví d cây sau là cây nh phân đ y đ : ụ ị ầ ủ
A
D
C
G E
B
F
Trang 8Tính ch t: ấ
• a- S l ố ượ ng t i đa các nút m c i trên 1 cây nh phân là 2i-1 ố ở ứ ị (i≥1)
• b- S l ố ượ ng t i đa các nút trên 1 cây nh phân có chi u cao h ố ị ề
là 2h -1.
L u tr cây nh phân: ư ữ ị
L u tr k ti p: V i cây nh phân đ y đ , ta đánh s các nút t ư ữ ế ế ớ ị ầ ủ ố ừ
1 tr đi, h t m c này đ n m c khác, t trái qua ph i ở ế ứ ế ứ ừ ả
• Dùng m ng V l u tr cây nh phân , nút th i c a cây đ ả ư ữ ị ứ ủ ượ c l u ư
tr ph n t V(i) ữ ở ầ ử
A B C D E F G
v[0] v[1] v[2] v[3] v[4] v[5] v[6]
A
D
C
G E
B
F
Trang 9L u tr b ng danh sách móc m i ư ữ ằ ố
•Trong cách l u tr này , m i nút ng v i m t ph n t nh có ư ữ ỗ ứ ớ ộ ầ ử ớ quy cách nh sau: ư
LPTR : Con tr tr t i cây con trái c a nút đó ỏ ỏ ớ ủ
RPTR : Con tr tr t i cây con ph i c a nút đó ỏ ỏ ớ ả ủ
INFO : Tr ườ ng thông tin.
•Ví d cây nh phân sau đây: ụ ị
LPTR INFO RPTR
Khi cây rỗng thì T=NULL
A
D
C
E B
Trang 10Ví dụ: Biểu diễn biểu thức: a*b+c/2 bằng cây nhị phân sau:
Trang 11Bi u di n và các thao tác (tt) ể ễ
Các thao tác trên cây nh phân bao g m: ị ồ
a Kh i t o cây nh phân ở ạ ị
b T o m i 1 nút ạ ớ
c Thêm 1 nút vào cây nh phân ị
d Duy t qua các nút trên cây nh phân ệ ị
e Tính chi u cao c a cây ề ủ
f Tính s nút c a cây ố ủ
g H y 1 nút trên cây nh phân ủ ị
Trang 12Xóa 1 nút trên cây nh phân ị
• N u ti n hành xóa các nút lá ế ế không có v n đ gì ấ ề
x y ra ả
• N u xóa 1 nút không ph i là nút lá c n ph i chuy n ế ả ầ ả ể
các nút con c a nút c n xóa qua các nút khác r i ủ ầ ồ
m i ti n hành h y ớ ế ủ
• N u nút c n xóa ch có 1 nút g c cây con thì ế ầ ỉ ố
chuy n nút g c c a cây con này thành nút g c c a ể ố ủ ố ủ cây con cha c a nút c n xóa ủ ầ
• Trong tr ườ ng h p nút c n xóa có 2 nút g c cây con, ợ ầ ố
thì ph i chuy n 2 nút g c cây con này thành nút g c ả ể ố ố cây con c a nút khác ủ
Trang 13Tr ng h p th nh t: ch đ n gi n xóa X vì ườ ợ ứ ấ ỉ ơ ả
nó không móc n i đ n ph n t nào khác ố ế ầ ử
Trang 14Trường hợp thứ hai: trước khi xóa X ta móc nối cha của X với con duy nhất của nó Xóa nút X =
37
Trang 15• Tr ườ ng h p cu i cùng: ta không th xóa tr c ợ ố ể ự
ti p do X có đ 2 con ế ủ ⇒ Ta s xóa gián ẽ
ti p Thay vì xóa X, ta s tìm m t ph n t ế ẽ ộ ầ ử
th m ng Y Ph n t này có t i đa m t con ế ạ ầ ử ố ộ Thông tin l u t i Y s đ ư ạ ẽ ượ c chuy n lên l u ể ư
t i X Sau đó, nút b xóa th t s s là Y ạ ị ậ ự ẽ
gi ng nh 2 tr ố ư ườ ng h p đ u ợ ầ
• V n đ là ph i ch n Y sao cho khi l u Y vào ấ ề ả ọ ư
v trí c a X, cây v n là CNPTK ị ủ ẫ
Trang 16Có 2 ph n t th a mãn yêu c u: ầ ử ỏ ầ
• Ph n t nh nh t (trái nh t) trên cây con ầ ử ỏ ấ ấ
ph i ả
• Ph n t l n nh t (ph i nh t) trên cây con ầ ử ớ ấ ả ấ trái
Trang 17C m n th y cô và các ả ơ ầ
b n!!!! ạ