1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cấu trúc dữ liệu và giải thuật: Cây AVL (AVL tree) - ĐH KHTN TPHCM

13 33 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 1,49 MB

Nội dung

Cây AVL (AVL tree) là cây nhị phân tìm kiếm mà tại mỗi đỉnh của cây, độ cao của cây con trái và cây con phải không chênh lệch quá 1. Trong chương này sẽ trình bày một số nội dung liên quan đến cây AVL như: Xây dựng cây cân bằng, các trường hợp mất cân bằng, xử lý mất cân bằng, thao tác tìm kiếm, thao tác thêm phần tử,... Mời các bạn cùng tham khảo.

47 AVL tree Cấu trúc liệu giải thuật - HCMUS 2011 48  Do G.M Adelsen Velskii E.M Lendis đưa vào năm 1962, đặt tên AVL Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 49  Cây cân AVL nhị phân tìm kiếm mà đỉnh cây, độ cao trái phải không chênh lệch Cấu trúc liệu giải thuật - HCMUS 2011 50  Ví dụ : 12 12 11 18 17 Cây AVL? 18 11 17 Cây AVL? Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 51   Việc xây dựng cân dựa nhị phân tìm kiếm, bổ sung thêm giá trị cho biết cân Cách làm gợi ý: struct NODE { Data key; NODE *pLeft, *pRight; int bal; };  Trong giá trị bal (balance, cân bằng) là: 0: cân bằng; 1: lệch trái; 2: lệch phải Cấu trúc liệu giải thuật - HCMUS 2011 52  Mất cân trái-trái (L-L)  Mất cân bằn trái-phải (L-R)  Mất cân phải-phải (R-R)  Mất cân phải-trái (R-L) Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 53  Mất cân trái-trái (L-L) 12 18 17 Cấu trúc liệu giải thuật - HCMUS 2011 54  Mất cân trái-phải (L-R) 12 18 17 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 55  Mất cân phải-phải (R-R) 12 11 22 25 Cấu trúc liệu giải thuật - HCMUS 2011 56  Mất cân phải-trái (R-L) 12 11 22 20 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 57  Giả sử node xảy cân bên phải (cây phải chênh lệch với trái đơn vị):  Mất cân phải-phải (RR)  Quay  Mất trái cân phải-trái (R-L)  Quay phải  Quay trái Cấu trúc liệu giải thuật - HCMUS 2011 58  P cân phải-phải (RR): Quay trái P P P Q h+1 h h h+1 h h Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 59  P cân phải-phải (RR): Quay trái P P 18 35 Q 35 20 18 50 50 20 55 55 Cấu trúc liệu giải thuật - HCMUS 2011 60  P cân phải-trái (RL):  Bước 1: quay phải Q  Bước 2: quay trái P P Q h h h h-1 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 61  P cân phải-trái (RL):  Bước 1: quay phải Q P Quay phải Q P Q Q h h h h h h- h-1 h Cấu trúc liệu giải thuật - HCMUS 2011 62  P cân phải-trái (RL):  Bước 2: quay trái P P P Quay trái P Q h h h h h- h- h h Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 63  P cân phải-trái (RL) – Bước 1: Quay phải Q P 35 35 Q 40 20 55 37 40 18 50 18 37 20 36 65 45 50 45 55 36 65 Cấu trúc liệu giải thuật - HCMUS 2011 64  P cân phải-trái (RL) - Bước 2: Quay trái P P 35 40 Q 40 18 37 20 36 50 45 50 35 37 18 55 20 36 45 55 65 65 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 65  Khi node xảy cân bên trái (cây trái chênh lệch với phải đơn vị): (thực đối xứng với trường hợp cân bên phải)  Mất cân trái-trái (LL)  Quay  Mất phải cân trái-trái (L-R)  Quay trái  Quay phải Cấu trúc liệu giải thuật - HCMUS 2011 66 Theo Wikipedia ©FIT-HCMUS Cấu trúc liệu giải thuật - HCMUS 2011 10 67  Thực hồn tồn tương tự nhị phân tìm kiếm 10 23 20 Cấu trúc liệu giải thuật - HCMUS 2011 68   Thực tương tự với việc thêm phần tử nhị phân tìm kiếm Nếu xảy việc cân xử lý trường hợp cân biết Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 11 69    Thực tương tự nhị phân tìm kiếm: xét trường hợp, tìm phần tử mạng cần Sau xóa, cân bằng, thực cân Lưu ý: việc cân sau hủy xảy dây chuyền Cấu trúc liệu giải thuật - HCMUS 2011 70  Ví dụ: xóa 35 Phần tử mạng 36 40 40 50 35 37 18 20 36 45 50 36 55 37 18 65 45 20 55 65 Cây cân nên hiệu chỉnh Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 12 71  Xóa phần tử 45 40 40 50 36 55 45 37 18 50 36 20 65 55 37 18 65 20 Node 50 bị lệch phải !!! Cấu trúc liệu giải thuật - HCMUS 2011 72  Xóa phần tử 45: cân lại Quay trái node 50 40 40 50 36 37 18 20 55 36 55 37 18 65 50 65 20 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 13 ... lệch phải Cấu trúc liệu giải thuật - HCMUS 2011 52  Mất cân trái-trái (L-L)  Mất cân bằn trái-phải (L-R)  Mất cân phải-phải (R-R)  Mất cân phải-trái (R-L) Cấu trúc liệu giải thuật - HCMUS 2011... ©FIT-HCMUS 53  Mất cân trái-trái (L-L) 12 18 17 Cấu trúc liệu giải thuật - HCMUS 2011 54  Mất cân trái-phải (L-R) 12 18 17 Cấu trúc liệu giải thuật - HCMUS 2011 ©FIT-HCMUS 55  Mất cân phải-phải...49  Cây cân AVL nhị phân tìm kiếm mà đỉnh cây, độ cao trái phải không chênh lệch Cấu trúc liệu giải thuật - HCMUS 2011 50  Ví dụ : 12 12 11 18 17 Cây AVL? 18 11 17 Cây AVL? Cấu trúc liệu giải

Ngày đăng: 09/05/2021, 14:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN