CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG
Số trang: 15
Loại file: ppt
Dung lượng: 185.00 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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...
Nội dung trích xuất từ tài liệu:
CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG NỘI DUNG CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNGCấu trúc dữ liệu và thuật giải Ðịnh nghĩa 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 44Cấu trúc dữ liệu và thuật giải Ví dụ: 23 88 59 108 13 37 15 30 40 55 71 Tổ chức dữ liệu • Chỉ số cân bằng = độ lệch giữa cây trái và cây phải của một nút • Các giá trị hợp lệ : ⇔ – CSCB( p) = 0 Độ cao cây trái ( p) = Độ cao cây phải ( p)Cấu trúc dữ liệu và thuật giải ⇔ – CSCB( p) = 1 Độ cao cây trái ( p) < Độ cao cây phải ( p) ⇔ – CSCB( p) = -1 Độ cao cây trái ( p) > Độ cao cây phải ( p) Tổ chức dữ liệu(tt) typedef struct tagAVLNode { balFactor; //chỉ số cân bằng char Data key; struct tagAVLNode* pLeft; struct tagAVLNode* pRight;Cấu trúc dữ liệu và thuật giải }AVLNode; typedef AVLNode*AVLTree; Các trường hợp mất cân bằng do lệch trái T T LT LT h-1 h-1 R R 1 1 h-1 h h-1 h R L L1 R1Cấu trúc dữ liệu và thuật giải 1 1 T LT h-1 R 1 h h L1 L1 Các trường hợp mất cân bằng do lệch phải T T RT RT h-1 h-1 L L 1 1 h-1 h-1 h h L R R1 L1Cấu trúc dữ liệu và thuật giải T 1 1 RT h-1 L 1 h h L1 R1 Các thao tác trên cây cân bằng Khi thêm hay xoá 1 nút trên cây, cĩ thể làm cho cây mất tính cân bằng, khi ấy ta phải tiến hành cân bằng lại. • Cây có khả năng mất cân bằng khi thay đổi chiều cao: – Lệch nhánh trái, thêm bên trái – Lệch nhánh phải, thêm bên phảiCấu trúc dữ liệu và thuật giải – Lệc ...
Nội dung trích xuất từ tài liệu:
CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNG NỘI DUNG CÂY NHỊ PHÂN TÌM KIẾM CÂN BẰNGCấu trúc dữ liệu và thuật giải Ðịnh nghĩa 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 44Cấu trúc dữ liệu và thuật giải Ví dụ: 23 88 59 108 13 37 15 30 40 55 71 Tổ chức dữ liệu • Chỉ số cân bằng = độ lệch giữa cây trái và cây phải của một nút • Các giá trị hợp lệ : ⇔ – CSCB( p) = 0 Độ cao cây trái ( p) = Độ cao cây phải ( p)Cấu trúc dữ liệu và thuật giải ⇔ – CSCB( p) = 1 Độ cao cây trái ( p) < Độ cao cây phải ( p) ⇔ – CSCB( p) = -1 Độ cao cây trái ( p) > Độ cao cây phải ( p) Tổ chức dữ liệu(tt) typedef struct tagAVLNode { balFactor; //chỉ số cân bằng char Data key; struct tagAVLNode* pLeft; struct tagAVLNode* pRight;Cấu trúc dữ liệu và thuật giải }AVLNode; typedef AVLNode*AVLTree; Các trường hợp mất cân bằng do lệch trái T T LT LT h-1 h-1 R R 1 1 h-1 h h-1 h R L L1 R1Cấu trúc dữ liệu và thuật giải 1 1 T LT h-1 R 1 h h L1 L1 Các trường hợp mất cân bằng do lệch phải T T RT RT h-1 h-1 L L 1 1 h-1 h-1 h h L R R1 L1Cấu trúc dữ liệu và thuật giải T 1 1 RT h-1 L 1 h h L1 R1 Các thao tác trên cây cân bằng Khi thêm hay xoá 1 nút trên cây, cĩ thể làm cho cây mất tính cân bằng, khi ấy ta phải tiến hành cân bằng lại. • Cây có khả năng mất cân bằng khi thay đổi chiều cao: – Lệch nhánh trái, thêm bên trái – Lệch nhánh phải, thêm bên phảiCấu trúc dữ liệu và thuật giải – Lệc ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc dữ liệu cao cấp ngôn ngữ lập trình C++ lập trình hướng đối tượng cấu trúc dữ liệu tuyến tính cây tìm kiếm cân bằngGợi ý tài liệu liên quan:
-
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 347 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 255 0 0 -
46 trang 239 0 0
-
101 trang 193 1 0
-
Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền
100 trang 182 1 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 177 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 136 0 0 -
51 trang 132 0 0
-
14 trang 128 0 0
-
Lý thuyết ngôn ngữ lập trình C++ dành cho sinh viên: Phần 2
276 trang 110 0 0