Đang tải... (xem toàn văn)
power point 10
Ề Ị ễ ạ ế !!"#$ớ %&' ( ) '*ướ ẫ ị + +ị • +!, !- . !,/)0&*ố ỗ ỉ !'. ! 123!+ +34ượ ọ ị 5*6"677 89 • + +-2- . "6'!,.:ị ỗ ỉ *!'. ! 123!+ +. ượ ọ ị ầ . 4ủ ;115*6"677 8 9+ +"<-/ -4=812!+ +"6'.," ị ế ị ạ - :">/,*! *:".*?@"1 /,*! *" "! ỗ ủ ớ ơ ủ ấ ả !&!:"" !!+!'"6&2 /,*! *" "! !&!ộ ỏ ơ ủ ấ ả :"" !ộ !+!' ả • + +!,- !1&!*ị ứ /)0&A- !4. !*'!+8ứ ộ "< 12!+ +!+5 9ọ ị ằ B12 !9C>D>E12 !!+!'! *9ố ố ủ B12!*! *C>D>E9C>D>E12!'! *9ủ ủ B!,! 12F9>G>D>E!,! 12#9C!,! 12 9ấ ấ ấ B:"1&4! H#8>G>D>E121&9ấ BC12:"&9 B .ườ ." . ! . (212I !&!:"4F8JAH ườ ừ ế ố ộ ố ." . D! . (212I !&!:"4 8JAHA9ườ ừ ế ố ộ ố A C F D B E • *!+!'I*.+12 !+!'!," " /&!*9ứ ự Đố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 B B A C B+ +I5 !,ị ế dạng- "(*I&!" ộ ế "K9 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 B+ +'2! 12!+ ị ỉ ị +-2!&!:" !&!- !"6 - !ở ứ ừ ứ ! . . "" .*9ố ề ạ ố LK( ụ + +. . 2!+ +!,!&!:"ị ầ ủ ị " .* - - !9ố ở ọ ứ LK( !+I*12!+ +. . ụ ị ầ ủ A D C G E B F Tính ch t:ấ • *J 1 " .*!&!:" - !"6A!+ +12 JAố ượ ố ở ứ ị 4MA8 • 5J 1 " .*!&!:""6A!+ +!,! !*'ố ượ ố ị ề 12 JA9 "6 !+ +ư ữ ị "6 / " L !+ +. . >"*.&I !&!:"" ư ữ ế ế ớ ị ầ ủ ố ừ A"6 .> "- !2. - !/&!>" "6&0* 9ở ế ứ ế ứ ừ ả • GN- L1 "6 !+ +>:"" ! *!+. !1 ả ư ữ ị ứ ủ ượ ư "6 " L489ữ ở ầ ử 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 "6 5 (*I&!-,!- ư ữ ằ ố •6'!&!1 "6 2>- :" - " " !,ư ữ ỗ ứ ớ ộ ầ ử ớ 0!&! I*ư '"6 "6 " !+!'"6&! *:".,ỏ ỏ ớ ủ '"6 "6 " !+!' ! *:".,ỏ ỏ ớ ả ủ EO6 ")"9ườ • LK( !+ +I*.+ụ ị LPTR INFO RPTR Khi cây rỗng thì T=NULL A D C E B Ví dụ: Biểu diễn biểu thức: a*b+c/2 bằng cây nhị phân sau: [...]... 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 Xó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... 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 Trườ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 Trường hợp thứ hai: trước khi xóa X ta móc nối cha của... với con duy nhất của nó Xóa nút X = 37 • 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 Có 2 phần... 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 Có 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 Cảm ơn thầy cô và các bạn!!!!