intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cấu trúc dữ liệu và giải thuật: Cây AVL - ĐHKHTN

Chia sẻ: Phan Phan | Ngày: | Loại File: PDF | Số trang:13

186
lượt xem
19
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Cấu trúc dữ liệu và giải thuật: Cây AVL" trình bày về các nội dung: định nghĩa cây AVL, cách 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ử, thao tác xóa phần tử. Để biết rõ hơn về nội dung chi tiết, mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật: Cây AVL - ĐHKHTN

47<br /> <br /> AVL tree<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> 48<br /> <br /> <br /> <br /> Do G.M. Adelsen Velskii và E.M. Lendis đưa ra<br /> vào năm 1962, đặt tên là cây AVL.<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> ©FIT-HCMUS<br /> <br /> 1<br /> <br /> 49<br /> <br /> <br /> <br /> Cây cân bằng AVL là cây nhị phân tìm kiếm mà<br /> tại mỗi đỉnh của cây, độ cao của cây con trái và<br /> cây con phải không chênh lệch quá 1.<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> 50<br /> <br /> <br /> <br /> Ví dụ :<br /> <br /> 12<br /> <br /> 12<br /> <br /> 8<br /> <br /> 11<br /> <br /> 5<br /> <br /> 4<br /> <br /> 8<br /> <br /> 18<br /> <br /> 17<br /> <br /> 5<br /> <br /> 7<br /> <br /> 4<br /> <br /> Cây AVL?<br /> <br /> 2<br /> <br /> 18<br /> <br /> 11<br /> <br /> 17<br /> <br /> 7<br /> <br /> Cây AVL?<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> ©FIT-HCMUS<br /> <br /> 2<br /> <br /> 51<br /> <br /> <br /> <br /> <br /> <br /> Việc xây dựng cây cân bằng dựa trên cây nhị phân<br /> tìm kiếm, chỉ bổ sung thêm 1 giá trị cho biết sự cân<br /> bằng của các cây con như thế nào.<br /> Cách làm gợi ý:<br /> struct NODE {<br /> Data key;<br /> NODE *pLeft, *pRight;<br /> int bal;<br /> };<br /> <br /> <br /> <br /> Trong đó giá trị bal (balance, cân bằng) có thể là: 0:<br /> cân bằng; 1: lệch trái; 2: lệch phải<br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> 52<br /> <br /> <br /> <br /> Mất cân bằng trái-trái (L-L)<br /> <br /> <br /> <br /> Mất cân bằn trái-phải (L-R)<br /> <br /> <br /> <br /> Mất cân bằng phải-phải (R-R)<br /> <br /> <br /> <br /> Mất cân bằng phải-trái (R-L)<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> ©FIT-HCMUS<br /> <br /> 3<br /> <br /> 53<br /> <br /> <br /> <br /> Mất cân bằng trái-trái (L-L)<br /> 12<br /> <br /> 18<br /> <br /> 17<br /> <br /> 5<br /> <br /> 4<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> 54<br /> <br /> <br /> <br /> Mất cân bằng trái-phải (L-R)<br /> 12<br /> <br /> 18<br /> <br /> 17<br /> <br /> 5<br /> <br /> 7<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> ©FIT-HCMUS<br /> <br /> 4<br /> <br /> 55<br /> <br /> <br /> <br /> Mất cân bằng phải-phải (R-R)<br /> 12<br /> <br /> 8<br /> <br /> 11<br /> <br /> 5<br /> <br /> 22<br /> <br /> 25<br /> <br /> 7<br /> <br /> 4<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> 56<br /> <br /> <br /> <br /> Mất cân bằng phải-trái (R-L)<br /> 12<br /> <br /> 8<br /> <br /> 11<br /> <br /> 5<br /> <br /> 4<br /> <br /> 7<br /> <br /> 22<br /> <br /> 20<br /> <br /> Cấu trúc dữ liệu và giải thuật - HCMUS 2011<br /> <br /> ©FIT-HCMUS<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2