Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
7,91 MB
Nội dung
CÂY NHỊ PHÂN (BINARY TREE) NỘI DUNG: 4.1 Định nghĩa khái niệm 4.2 Biểu diễn nhị phân 4.3 Các thao tác nhị phân 4.4 Ứng dụng nhị phân 4.5 Cấu trúc Heap 4.6 Cây nhị phân tìm kiếm 4.7 Cây nhị phân tìm kiếm cân (AVL) 4.8 Cây nhị phân tìm kiếm B-Tree 4.9 Một số nhị phân tìm kiếm quan trọng khác 4.10 CASE STUDY: 4.1 Định nghĩa khái niệm Định nghĩa: Tập hợp hữu hạn node có kiểu liệu (có thể tập ) phân thành tập: • Tập thứ có node gọi node gốc (root) • Hai tập cịn lại tự hình thành hai bên trái (left subtree) bên phải (right subtree) node gốc (hai tập tập ) left subtree root node 50 40 60 30 20 15 25 rigth subtree 10 45 35 55 70 65 75 80 Một số khái niệm: • Node gốc (Root): Node định hình • Node cha (Father): Node A node cha node B B node bên trái node A (left son) B node bên phải node B (right son) • Node (Leaf): Node khơng có node trái, khơng có node phải • Node trung gian (Internal Node): Node có node trái, có node phải, hai hai • Node trước (Ancestor): Node A gọi node trước node B node gốc A chứa node B • Node sau trái (left descendent): node B node sau bên trái node A bên trái node A chứa node B • Node sau phải (right descendent): node B node sau bên phải node A bên phải node A chứa node B • Node anh em (brother): A B anh em A B node trái node phải node cha • Bậc node (degree of node): Số tối đa node • Mức node (level of node): mức node gốc có bậc 0, mức node khác mức node cha cộng thêm • Chiều sâu (depth of tree): mức lớn node Như vậy, độ sâu độ dài đường dài từ node gốc đến node Node gốc Node trung gian Node Một số khái niệm: Độ sâu 50 40 30 20 60 15 25 10 45 55 35 70 80 75 90 85 Các loại nhị phân: • Cây lệch trái: Cây có node bên trái • Cây lệch phải: Cây có node bên phải •Cây nhị phân (strickly binary tree): Node gốc tất node trung gian có hai node • Cây nhị phân đầy (complete binary tree): Cây nhị phân tất node có mức d • Cây nhị phân gần đầy (almost complete binary tree):Cây nhị phân gần đầy có chiều sâu d nhị phân thỏa mãn: • Tất node có mức khơng nhỏ d-1 có hai node • Các node mức d đầy từ trái qua phải • Cây nhị phân hồn tồn cân bằng.Cây nhị phân có số node thuộc nhánh trái số node thuộc nhánh phải chênh lệch khơng q • Cây nhị phân tìm kiếm Cây nhị phân thỏa mãn điều kiện: • Hoặc rỗng có node gốc • Mỗi node gốc có tối đa hai Nội dung node gốc lớn nội dung node bên trái nhỏ nội dung node bên phải • Hai bên trái bên phải hình thành nên hai tìm kiếm • Cây nhị phân tìm kiếm hồn tồn cân Cây nhị phân tìm kiếm có chiều sâu bên trái chiều sâu bên phải chênh lệch không Cây nhị phân đúng:Node gốc tất node trung gian có hai node 50 40 30 10 60 20 45 25 15 70 80 35 75 90 85 Cây nhị phân đầy: Cây nhị phân tất node có mức d 50 40 30 15 25 60 20 10 45 55 35 70 75 80 90 Cây nhị phân gần đầy: Cây nhị phân gần đầy có chiều sâu d nhị phân thỏa mãn: •Tất node có mức khơng nhỏ d-1 có hai node •Các node mức d đầy dần từ trái qua phải 50 40 30 15 25 60 20 10 45 55 35 70 Cây nhị phân hoàn toàn cân bằng: Cây nhị phân có số node thuộc nhánh bên trái số node thuộc nhánh bên phải chênh lệch không 50 40 30 10 60 20 25 16 45 55 35 70 80 75 90 85 Cây nhị phân tìm kiếm: Cây nhị phân thỏa mãn điều kiện: • Hoặc rỗng có node gốc • Mỗi node gốc có tối đa hai Nội dung node gốc lớn nội dung node bên trái nhỏ nội dung node bên phải • Hai bên trái bên phải hình thành nên hai tìm kiếm 40 30 60 25 35 20 15 28 22 26 32 29 50 38 70 65 62 90 68