... 4 :C Y, C Y NHỊ PHÂN, C Y NHỊPHÂN TÌM KIẾM1. C u tr cc y 1.1. Định nghĩa 1: C y là một tập hợp T ccphần tử (nút trên c y) trong đó c 1 nút đ c biệt T0 đư c gọi là g c, cc nút c n kh c ... khái niệm c bản - B c của một nút: là số c y con c a nút đó . - B c của một c y: là b c lớn nhất c a cc nút trong c y. C y c b c n thì gọi là c y n -phân. - Nút g c: nút không c nút cha. - ... khi đó sẽ tương đương tìm kiếm nhịphân trên mảng c thứ tự. 11 2. C Y NHỊPHÂN 2.1 Định nghĩa C y nhịphân là c y mà mỗi nút c tối đa 2 c y con C y nhịphânc thể ứng dụng trong nhiều bài...
... c y, trong đó cc con c a một nút tuân theo một thứ tự x c định đư c gọi là c y c thứ tự. Ccc y c thứ tự c nhiều ứng dụng sâu s c trong c u tr c của c y. C y tìm kiếm nhịphân là một c y ... điển hình. C y tổng quát và c y nhị phân Ccc y trong đó mỗi nút c thể c nhiều hơn hai con đư c gọi là c y tổng quát, c cc y trong đó mỗi nút c không quá hai con đư c gọi là c y nhị phân. Biểu ... Do đó danh sách cc nút biểu diễn một c y tổng quát, khi đư c xem là biểu diễn c a c y nhịphân sẽ cho một c y nhị phân. C y nhịphân này đư c gọi là c y nhịphân tương đương với c y tổng quát...
... đư c hết ccphần tử trên c y nhịphân tìm kiếm: duyệt trư c (NLR), duyệt giữa (LNR), duyệt sau (LRN). Do tính chất c a c y nhịphân tìm kiếm, phép duyệt giữa cho phép duyệtcc khóa c a c y theo ... tất ccc nút c a nhánh con bị mất). C c thao t c cơ bản trên c y nhịphân tìm kiếm: - Thêm 1 nút: dựa vào tính chất c a c y nhịphân tìm kiếm để tìm vị trí thêm nút mới. o Tạo c y: từ c y ... thêm cc nút vào c y bằng phương th c thêm nút vào c y nhịphân tìm kiếm - Xóa 1 nút: là nút lá, là nút c 1 nhánh con, là nút c 2 nhánh con. - Duyệtc y nhịphân tìm kiếm: để c thể đi được...
... 2.-2: C y con phải cao hơn 2 so với c y con trái-1: C y con phải cao hơn 1 so với c y con trái0: C y con trái và c y con phải c chiều cao bằng nhau1: C y con trái cao hơn 1 so vơi c y con phải2: ... nút c a nó độ cao c a c y con tráivà c a c y con phải chênh lệch không quá một. C y c n bẳng hoàn toàn là c y AVL, nhưng c y AVL chưa ch c đã là c y c n bằnghoàn toàn. Tính c n đối c a c y ... đều chỉ c 1 con trừ nút lá). L c đó cc thao t c trên sẽ c độ ph c tạp O(n). Vì vậy c n cc i tiến c u tr c của CNPTK để đạt đư c chi phí cho cc thao t c là log2(n).II. C Y NHỊPHÂNC N...
... c a c y nhị phân AB C DE a) c y nhiphân lệch tráiaAB C DEb) C y nhị phân lệch phảibA C BDEDAB C Ed c c, d) C y nhịphân C y zic- z c I.ĐỊNH NGHĨA C y nhịphân là c y ccc ... trư c) + Duyệtccc y con c n lại (theo thứ tự trư c) Một số dạng đ c biệt c a c y nhịphân (tiếp) C y nhịphân gần đầy A C GHBEJDFIA C GBEJDFHI C y nhịphân hoàn chỉnhA C GBEDF C y ... III. CC PHÉP DUYỆTC Y NHỊ PHÂN Duyệt theo thứ tự trư c. (G c T → C y con trái → C y con phải) C thể:- Nếu T rỗng → không làm gì.- Nếu T ≠ Nul Thì + Thăm g c của T + Duyệtc y con trái c a...
... g c và duyệtccc y con c a nó. Đệ quy sẽ làm cho vi cduyệtccc y con trở nên hết s c dễ dàng. Ccc y con đư c tìm thấy nhờ cc con trỏ trong nút g c, do đó cc con trỏ này c n đư c chuyển ... xem cc nút c n lại như là cc cách phân chia giữa c y con trái và c y con phải. C y con trái và c y con phải l c này sẽ là cc trường hợp nhỏ hơn mà chúng ta đã biết. Chương 9 – C y nhịphân ... là g c của một c y con nào đó) c hai c y con trái và phải. Ccc y con này c thể đư c x c định thông qua cc con trỏ chỉ đến cc nút g c của nó. Chúng ta c đ c tả sau: template <class...
... Tuan - Khoa CNTT ĐH KHTN Tp.HCM 48 C y nhịphân tìm kiếmMôt c u tr c dữ liệu! C ch lưu trữ c y BST giống như c y nhị phân ! Xem lại phần “Tổng quan về c y nhịphân -C ch th c lưu trữ c y 27Spring ... Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 49 C y nhịphân tìm kiếmXây dựng cc thao t c cơ bản trên c y ! Cc thao t c trên c y BST:! Tạo lập c y rỗng! Kiểm tra c y ... Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 45 C y nhịphân tìm kiếmĐịnh nghĩa! C y nhịphân tìm kiếm là:! Một c y nhị phân ! Mỗi nút p c a c y đều thỏa:! Tất cc c...
... - Khoa CNTT ĐH KHTN Tp.HCM 80AVL TreeĐịnh nghĩa! C y AVL là:! Một c y nhịphân tìm kiếm! Mỗi nút p c a c y đều thỏa: độ cao c a c y con bên trái (p->pLeft) và độ cao c a c y con bên ... mỗi nút trong c y 1 field Bal, diễn tả trạng thái c a nút đó:! Bal = -1: nút lệch trái (c y con trái cao hơn c y con phải)! Bal = 0: nút c n bằng (c y con trái cao bằng c y con phải)! Bal ... Structure & Algorithm -Nguyen Tri Tuan - Khoa CNTT ĐH KHTN Tp.HCM 91AVL TreeThao t c điều chỉnh c y Những trường hợp c y bị mất c n bằng và C c cách điều chỉnh c y Spring 2004Data Structure...
... Tuan - Khoa CNTT ĐH KHTN Tp.HCM 36Tổng quan về c y nhị phân Cc phương pháp duyệtc y ! C 3 c ch duyệtc y: ! Duyệt g c trư c (Pre-Order) NLR! Duyệt g c giữa (In-Order) LNR! Duyệt g c sau (Post-Order) ... Khoa CNTT ĐH KHTN Tp.HCM 25 C c khái niệm và thuật ngữ c bản C c thuật ngữ liên quan! M c h c a c y đầy đủ b c d c dhnút! VD. m c h=2 c a c y b c 3 c bao nhiêu nút ?! h m c đầu tiên c a c y ... CNTT ĐH KHTN Tp.HCM 30Tổng quan về c y nhị phân C ch th c lưu trữ c y ! C 2 c ch tổ ch cc y nhị phân: ! Lưu trữ bằng mảng! Lưu trữ bằng con trỏ c u tr c 13Spring 2004Data Structure & Algorithm...
... trong: c chính x c hai con là con trái và con phải. C y nhịphân đầy đủ là c y nhị phân, trong đó tất ccc lá cc ng khoảng c ch tới g c. Số lượng cc lá trong c y nhịphân đầy đủ (c chiều ... C Y NHỊPHÂN a. Khái niệm c y C y là đồ thị đơn, vô hướng, liên thông và không c chu trình. b. Khái niệm c y nhịphân C y nhịphân là c y c hai dạng nút: Nút ngoài: nút lá, không c con. ... chiều cao k) là h = 2k. Cha chung thấp nhất c a hai nút (kể c lá) a, b là nút giao nhau giữa đường đi từ a tới g c và từ b tới g c. c. Tính chất c y nhịphân 1) C y nhịphânc r lá, thì c ...
... mộtmô hình toán. 2 - Chiều cao h c a c y: m c lớn nhất c a cc nút lá. C Y NHỊPHÂN Định nghĩa C y nhịphân là c y mà mỗi nút c tối đa 2 c y con C y nhịphânc thể ứng dụng trong nhiều ... B c của một nút: là số c y con c a nút đó . - B c của một c y: làb c lớn nhất c a cc nút trong c y. C y c b c n thì gọi là c y n- phân. - Nút g c: nút không c nút cha. - Nút lá: nút c ... c y nhịphân Như c điểm c a cc cấu tr cc y tổng quát là b c của cc nút trên c y c thể rất kh c nhau ⇒ vi c biểu diễn gặp nhiều khó khăn và lãng phí. Hơn nữa, vi c xây dựng cc thao tác...
... c ng mt nỳt cha.ã B c của c y (degree of tree): B c của c y là số c y con tối đa c a một nút trên c y. C y nhịphân là c y c b c là 2, c y nhiu nhỏnh l c y c bc ln hn 2.ã Bc c a nút (degree ... - m c của nút trư c. 1.3 Ccc y nhịphân đ c biệt1.3.1 C y nhịphân đúng (strictly binary tree)Một c y nhịphân gọi là c y nhịphân đúng nếu nút g c và t c cả cc nút trung gian đều c hai ... c y nhịphân không c thứ tự, mỗi c y nhịphân c một nút g c, c nhánh c y con bên trái và nhánh c y con bên phải; mỗi nhánh c y con lại tự thân hình thành một c y nhịphânc ng c nút gốc...
... ế"K9D C BAD C BAa b c da 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 BAD C BA Trườ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ó. ... ủAD C GEBF Ví dụ: Biểu diễn biểu th c: a*b +c/ 2 bằng c y nhịphân sau: •*!+!'I*.+12 !+!'!," " /&!*9ứ ựĐối với c y, ngoài quan hệ cha con ... 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 ccc y phân biệt thì ta gọi tập đó là rừng. C AB BA C ,*A:""6!+ +ã "...