Bài giảng Cấu trúc dữ liệu và giải thuật: Cây AVL - Nguyễn Mạnh Hiển
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Cây AVL - Nguyễn Mạnh HiểnCây AVLNguyễn Mạnh HiểnKhoa Công nghệ thông tinhiennm@tlu.edu.vnMở đầu• Khi xây dựng cây nhị phân tìm kiếm, ta muốn có kiểu cây nào hơn?• Ví dụ: dựng cây từ dãy {3, 5, 8, 20, 18, 13, 22} 3 5 13 8 5 20 13 18 3 8 18 22 20 22Mở đầu (tiếp)• Cây nhị phân đầy đủ khó xây dựng khi có các phép chèn và xóa• Ta muốn một cây có các tính chất sau: − Độ sâu của cây = O(logN) − Cho phép chèn và xóa với độ phức tạp O(logN)• Cây AVL là một kiểu cây như vậy!Cây AVL (Adelson-Velskii & Landis)• Cây AVL là một cây nhị phân tìm kiếm trong đó: − với mọi nút, chiều cao của hai cây con (trái & phải) của nó sai khác không quá 1 − quy ước cây rỗng có chiều cao -1 8 5 18 3 13 20 22Cây AVL• Cây AVL là cây nhị phân tìm kiếm với điều kiện cân bằng: − nhằm đảm bảo độ sâu của cây là O(logN) − và vì vậy, các thao tác tìm kiếm, chèn và xóa có độ phức tạp O(logN)• Điều kiện cân bằng: − Đối với mọi nút trong cây, chiều cao của các cây con trái và phải sai khác không quá 1Cây nào là cây AVL ?Chèn và xóa trên cây AVL• Thực hiện chèn và xóa như trong cây nhị phân tìm kiếm thông thường• Thỉnh thoảng điều kiện cân bằng bị vi phạm: − Sửa nó bằng phép xoay − Sau phép xoay, cây trở lại cân bằngVí dụ phép chènChèn 6 làm điều kiện cân Sửa bằng phép xoaybằng bị vi phạmVi phạm điều kiện cân bằng• Nếu điều kiện cân bằng bị vi phạm sau khi chèn một nút: − Những nút nào cần được xoay? − Chỉ những nút trên đường đi từ điểm chèn ngược về gốc có thể bị ảnh hưởng (chiều cao thay đổi)• Chỉ cần tái cân bằng dùng phép xoay tại nút sâu nhất có điều kiện cân bằng bị vi phạm − Toàn bộ cây sẽ được tái cân bằngCác trường hợp vi phạm• Có bốn trường hợp có thể xảy ra tại nút k 1. trái-trái: chèn vào cây con trái của con trái của k 2. trái-phải: chèn vào cây con phải của con trái của k 3. phải-trái: chèn vào cây con trái của con phải của k 4. phải-phải: chèn vào cây con phải của con phải của k• Hai trường hợp 1 và 4 (chèn “ngoài”) tương tự nhau: − Phép xoay đơn để tái cân bằng• Hai trường hợp 2 và 3 (chèn “trong”) tương tự nhau: − Phép xoay kép để tái cân bằngĐộ phức tạp trên cây AVL• Chi phí: − Thêm không gian lưu trữ thông tin chiều cao ở mỗi nút − Chèn và xóa trở nên phức tạp hơn, nhưng vẫn là O(logN)• Lợi ích: − Chèn, xóa và tìm kiếm trong trường hợp tồi nhất chỉ là O(logN)Phép xoay đơn (trường hợp 1)• Thay nút k2 bằng nút k1• Cho nút k2 trở thành con phải của nút k1• Cho cây con Y trở thành con trái của nút k2• Trường hợp 4, cách làm tương tựVí dụ• Sau khi chèn 6: − Điều kiện cân bằng ở nút 8 bị vi phạmPhép xoay đơn (trường hợp 1)Ví dụ• Chèn tuần tự 3, 2, 1 và sau đó 4, 5, 6, 7 vào một cây AVL rỗngVí dụ (tiếp)• Chèn 4, 5:Ví dụ (tiếp)• Chèn 6:Ví dụ (tiếp)• Chèn 7:Phép xoay đơn không giải quyết đượccác trường hợp khác• Đối với trường hợp 2: − Sau phép xoay đơn, nút k1 không cân bằng• Ta cần dùng phép xoay kép cho hai trường hợp 2 và 3Phép xoay kép (trường hợp 2)• Phép xoay kép trái-phải để sửa trường hợp 2• Đầu tiên xoay giữa nút k1 và nút k2• Sau đó xoay giữa nút k2 và nút k3• Trường hợp 3, cách làm tương tự
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu và giải thuật Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Cơ sở dữ liệu Cây AVL Xóa trên cây AVL Độ phức tạp trên cây AVLTài liệu cùng danh mục:
-
62 trang 388 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 371 6 0 -
Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 3 - Hệ điều hành Windowns XP
39 trang 318 0 0 -
Phương pháp truyền dữ liệu giữa hai điện thoại thông minh qua môi trường ánh sáng nhìn thấy
6 trang 307 0 0 -
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 299 0 0 -
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 288 1 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 279 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 276 2 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 265 0 0 -
Một số vấn đề về chuyển đổi số và ứng dụng trong doanh nghiệp
11 trang 247 0 0
Tài liệu mới:
-
114 trang 0 0 0
-
121 trang 0 0 0
-
Luận văn Thạc sĩ Kiến trúc: Chất hài trong kiến trúc của Renzo Piano
124 trang 0 0 0 -
157 trang 0 0 0
-
179 trang 0 0 0
-
9 trang 0 0 0
-
7 trang 0 0 0
-
85 trang 0 0 0
-
97 trang 0 0 0
-
Luận văn Thạc sĩ Quản lý kinh tế: Quản lý sử dụng vốn ODA của chính quyền tỉnh Lào Cai
108 trang 0 0 0