Skip to content

Files

Latest commit

d0559c2 · Oct 17, 2021

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 17, 2021
Sep 27, 2021
Sep 27, 2021

Cây AVL

Trong khoa học máy tính, cây AVL (tên từ người phát minh là Adelson-Velsky và Landis) là một cây tìm kiếm nhị phân tự cân bằng. Đây là cấu trúc dữ liệu đầu tiên làm được điều này. Trong một cây AVL, tại mỗi nút chiều cao của hai cây con sai khác không quá một, nếu bất kỳ lúc nào chúng khác nhau nhiều hơn một, việc cân bằng lại sẽ được thực hiện để khôi phục thuộc tính. Việc tìm kiếm, chèn và xóa đều mất thời gian O (log n) trong cả trường hợp trung bình hay trường hợp xấu nhất, trong đó n là số nút trong cây trước khi chèn hay xoá. Việc chèn và xóa có thể yêu cầu cây phải được cân bằng lại bằng một hoặc nhiều phép quay cây.

Ảnh động hiển thị hành động chèn vào cây AVL. Các phép quay bao gồm: quay trái, phải, trái-phải và phải-trái.

AVL Tree

Cây AVL với các hệ số cân bằng (màu xanh). Hệ số cân bằng có thể được tính bằng cách lấy chiều cao cây con bên phải trừ cây con bên trái hoặc ngược lại.

AVL Tree

Tái cân bằng cây AVL

Quay Trái (LL)

Left-Left Rotation

Quay Phải (RR)

Right-Right Rotation

Quay Trái-Phải (LR)

Left-Right Rotation

Quay Phải-Trái (RL)

Right-Right Rotation

Liên kết