Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

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