Kiểm tra tính hợp lệ của Cây nhị phân tìm kiếm
Trong hệ thống chỉ mục tìm kiếm tài liệu của AI Empire Academy, dữ liệu chỉ mục được cấu trúc dưới dạng Cây nhị phân tìm kiếm (BST). Một cây nhị phân được coi là BST hợp lệ nếu và…
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: tree node, recursion trees, bst properties.
Nội dung đề bài
Mục tiêu kiến thức
- Hiểu định nghĩa đầy đủ của Cây nhị phân tìm kiếm (BST): mọi nút trong cây con bên trái phải nhỏ hơn nút gốc, và mọi nút trong cây con bên phải phải lớn hơn nút gốc.
- Nhận diện sai lầm phổ biến: chỉ so sánh cục bộ giữa nút cha và hai con trực tiếp.
- Sử dụng kỹ thuật truyền cận (min_val, max_val) trong đệ quy duyệt cây.
Mô tả bài toán
Trong hệ thống chỉ mục tìm kiếm tài liệu của AI Empire Academy, dữ liệu chỉ mục được cấu trúc dưới dạng Cây nhị phân tìm kiếm (BST). Một cây nhị phân được coi là BST hợp lệ nếu và chỉ nếu:
- Cây con bên trái của một nút chỉ chứa các nút có giá trị nhỏ hơn nghiêm ngặt giá trị của nút đó.
- Cây con bên phải của một nút chỉ chứa các nút có giá trị lớn hơn nghiêm ngặt giá trị của nút đó.
- Cả hai cây con trái và phải đều phải là cây nhị phân tìm kiếm hợp lệ.
- Cây rỗng (
None) được coi là BST hợp lệ.
Cho một cây nhị phân với nút gốc root. Hãy viết hàm is_valid_bst(root: TreeNode | None) -> bool kiểm tra xem cây có phải là BST hợp lệ hay không.
Lớp TreeNode được định nghĩa sẵn như sau:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = rightInput
Nút gốc root của cây nhị phân (TreeNode hoặc None).
Output
Trả về giá trị boolean True hoặc False.
Ràng buộc
- Số lượng nút trong cây từ 0 đến 104.
- -231 ≤ Node.val ≤ 231 - 1.
- Thời gian chạy tối đa: 1000ms.
- Giới hạn bộ nhớ: 256MB.
Ví dụ 1
Input
Cây `[2, 1, 3]` (Gốc 2, con trái 1, con phải 3).Output
`True`Ví dụ 2
Input
Cây `[5, 1, 4, None, None, 3, 6]` (Gốc 5, con phải 4 có con trái 3 và con phải 6).Output
`False`Giải thích
Nút gốc là 5, nhưng nút 4 ở cây con bên phải lại nhỏ hơn 5 (và nút 3 cũng nhỏ hơn 5), vi phạm tính chất BST.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
