Professional Documents
Culture Documents
W9-Tree - 2023-07-25T095609.316
W9-Tree - 2023-07-25T095609.316
Mục tiêu
▪Mức: Tập hợp tất cả các nút ở độ sâu nhất định được
gọi là mức của cây
▪Độ sâu của một nút: Độ sâu của một nút là chiều dài
của đường dẫn từ gốc đến nút đó
▪Chiều cao của cây là chiều dài của đường dẫn từ gốc
đến nút sâu nhất trong cây
Cây nhị phân
▪Cây được gọi là cây nhị phân nếu mỗi nút không có
con, một hoặc hai con.
▪Cây trống là cũng là một cây nhị phân hợp lệ.
▪Chúng ta có thể hình dung một cây nhị phân bao gồm
một gốc và hai cây nhị phân tách rời, được gọi là các
cây con trái và phải của nút gốc.
Cây nhị phân
Cài đặt cây
▪Struct BinaryTreeNode {
▪Int data;
▪Struct BinaryTreeNode * left;
▪Struct BinaryTreeNode * right;
▪}
Các phép toán
▪ Phép toán cơ bản
▪Chèn một phần tử vào một cái cây▪ Các phép toán bổ trợ
▪Xóa một phần tử khỏi cây ▪ Tìm kích thước của cây
▪Duyệt cây ▪ Tìm kiếm tổ tiên chung ít nhất cho một cặp nút đã
cho
▪ v..v
Một số ứng dụng của cây nhị phân
1, 2, 4,5,3,6,7
Các cách duyệt cây - Preorder
Các cách duyệt cây - Inorder
4251637
Các cách duyệt cây - Preorder
Các cách duyệt cây - Postorder
4526731
Các cách duyệt cây - Preorder
Các cách duyệt cây – Level Order
1234567
Các cách duyệt cây – Level Order
Cây tìm kiếm nhị phân
▪Cây nhị phân tìm kiếm cân bằng là cây mà tại mỗi nút
của nó độ cao của cây con trái và của cây con phải
chênh lệch không quá một.
AVL
Chiều cao của cây AVL
Root
Cấu trúc cây AVL
Các phép toán cơ bản trên cây AVL
▪Lưu ý:
▪Trường hợp 1 và 4 là đối xứng và dễ dàng được giải
quyết với các phép quay đơn.
▪Trường hợp 2 và 3 là cũng đối xứng và có thể được
giải quyết với phép quay kép (cần hai phép quay
đơn).
Quay đơn (Left Rotation) (1)
6,5,9,3,8,7
Quay đơn (Left Rotation) (1)
Quay đơn (Right Rotation) (4)
8,6,3,15,19,29
Quay đơn (Right Right Rotation) (1)
Quay kép (Left Right Rotation) (2)
Quay kép (Left Right Rotation) (2)
8,5,9,3,6,7
Quay kép (Right Left Rotation) (3)
Quay kép (Right Left Rotation) (3)
4,7,8,6,5,2
Chèn một nút vào trong cây