btvn.vn
Tìm kiếm Đăng nhập

Điều kiện của cây tìm kiếm nhị phân

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Cây tìm kiếm nhị phân · Chọn bài khác

Mọi nút đều phải thỏa cùng điều kiện

Cây tìm kiếm nhị phân (BST) trong phần cơ bản có các khóa khác nhau từng đôi. Tại mỗi nút, **mọi khóa trong cây con trái nhỏ hơn khóa nút ấy; mọi khóa trong cây con phải lớn hơn**. Điều kiện áp dụng ở tất cả các nút. Cây mẫu [8,4,12,2,6,10,14] là BST. So với gốc 8, cả 4,2,6 đều nhỏ hơn; cả 12,10,14 đều lớn hơn. Trong cây con gốc 4, lại có 2<4<6. Cây nhị phân chỉ giới hạn số con; BST còn giới hạn cách sắp khóa. Một cây hoàn chỉnh chưa chắc là BST, và một BST chưa chắc hoàn chỉnh.

Con trực tiếp đúng chưa đủ

Xét `T=[8,4,12,None,9]`. Hai con trực tiếp của gốc thỏa 4<8<12. Nút 9 là con phải của 4 nên cũng thỏa 4<9. Tuy nhiên 9 nằm trong **cây con trái của 8** mà 9>8. Vì vậy cây này không phải BST. Muốn kiểm bằng sơ đồ, xét cả vùng giá trị mà mỗi nhánh được phép chứa. Nhánh phải của 4 nằm trong nhánh trái của 8 nên mọi khóa ở đó phải đồng thời lớn hơn 4 và nhỏ hơn 8.

Thứ tự chèn ảnh hưởng hình dáng

Chèn 8,4,12 tạo cây có gốc 8 và hai con 4,12. Chèn cùng ba khóa theo thứ tự 4,8,12 tạo một nhánh phải từ 4 đến 8 rồi 12. Cả hai đều là BST nhưng chiều cao khác nhau. Cây suy biến chỉ còn một đường đi qua các nút, có thể làm tìm kiếm phải qua gần hết cây. Cây có chiều cao nhỏ giúp giảm số nút cần xét trên một đường tìm; thao tác chèn thông thường không tự cân bằng cây.

Bài luyện

Vì sao [8,4,12,None,9] không phải BST khóa khác nhau?
Chọn một đáp án

Bài luyện

Khẳng định nào đúng với BST cơ bản trong bài?
Chọn một đáp án

Bài luyện

Chèn lần lượt 4,8,12 vào BST rỗng tạo hình dáng nào?
Chọn một đáp án

Đang học