Cây nh ị phân là trường hợp đặc biệt của cây, trong đó không có node nào trên cây có b ậc lớn hơn 2... V ới cây nhị phân hoàn chỉnh có thể biểu diễn cây bằng mảng có n phần tử.[r]
(1)Giảng viên: TS Ngo Huu Phuc Tel: 0438 326 077 Mob: 098 5696 580
Email:
Cấu trúc liệu giải thuật
(2)Nội dung:
19.1 Khái niệm nhị phân. 19.2 Biểu diễn nhị phân.
19.4 Duyệt nhị phân. Tham khảo:
1. Deshpande Kakde: C and Data structures.chm, Chapter 21: Trees
(3)19.1 Khái niệm nhị phân (1/7)
19.1.1 Giới thiệu định nghĩa:
Cây nhị phân trường hợp đặc biệt cây, khơng có node có bậc lớn
Do nhị phân T định nghĩa:
Có một node đặc biệt gọi root cây.
Các node khác chia thành tập T1 và T2, chúng cũng nhị phân
Cây T1 được gọi bên trái.
(4)Từ định nghĩa nhị phân ta nhận thấy rằng:
Số node tối đa nhị phân tại mức i 2i−1
Nếu k độ sâu số phần tử tối đa là:
2k − = 2k−1 + 2k−2 + … + 20
A
B C
G D
H
E
I F
(5)19.1 Khái niệm nhị phân (3/7)
Cây lệch:
Trong thực tế, có dạng đặc biệt: lệch Cây lệch có cây trái hoặc phải.
A B
C
A
B
C
(6)Cây nhị phân đầy đủ (Full binary tree):
Cây nhị phân đầy đủ có độ cao k node mức thấp có đủ trái và phải.
Như vậy, với nhị phân đầy đủ có độ cao k số node 2k-1.
A B
C
E
F G
Ví dụ nhị
D
(7)19.1 Khái niệm nhị phân (5/7)
Cây nhị phân hoàn chỉnh (Complete binary tree):
Cây nhị phân hồn chỉnh có độ cao k, với độ cao k-1 đầy đủ.
Tại độ cao k, node đưa vào từ trái sang phải.
Nhận xét:
Các node tại mức k-2 về trước có đủ con.
Các node ở mức k-1 có thể có Nếu có trì có trái (các node mức trước có con)
A B
C
E F
ụ nhị phân hoàn chỉnh
D A
B C
(8)So sánh giữa nhị phân đầy đủ hoàn chỉnh:
Cây nhị phân đầy đủ trường hợp riêng nhị phân hoàn chỉnh.
Cây nhị phân hoàn chỉnh chưa nhị phân đầy đủ.
A B
C
E F
Cây nhị phân hoàn chỉnh
D A
B C
E
D F G
(9)19.1 Khái niệm nhị phân (7/7)
Cây nhị phân cân (Balanced binary tree):
Cây nhị phân cân mà node độ cao trái phải không lệch 1.
A B
C
E
F
ụ nhị phân cân bằng
D A
B C
(10) Với nhị phân hồn chỉnh biểu diễn mảng có n phần tử
Nếu nhị phân hoàn chỉnh biểu diễn dạng mảng, giá trị phần tử thứ i chứa mảng vị trí thứ i (1<=i<=n)
Khi đó, phần tử “cha” i i/2 node i 2i 2i+1. A
1 2 3 4 5
A B
D
C E