Theo trực giác, "cây cân bằng" phải là cây trong đó các cây con trái và phải ở mỗi nút phải có số lượng nút "xấp xỉ như nhau".
Tất nhiên, khi chúng ta nói về cây đỏ-đen * (xem định nghĩa ở cuối) được cân bằng, chúng tôi thực sự có nghĩa là chúng cân bằng chiều cao và theo nghĩa đó, chúng được cân bằng.
Giả sử chúng ta cố gắng chính thức hóa trực giác trên như sau:
Định nghĩa: Cây nhị phân được gọi là -balbal, với , nếu với mỗi nút N , bất đẳng thức0 ≤ μ ≤ 1 N
giữ và với mỗi , có một số nút mà câu lệnh trên không thành công. là số nút trong cây con bên trái của và là số nút dưới gốc cây với là gốc (bao gồm cả gốc).
Tôi tin rằng, chúng được gọi là cây cân bằng trọng lượng trong một số tài liệu về chủ đề này.
Người ta có thể chỉ ra rằng nếu một cây nhị phân có nút là -balbal (đối với hằng số ), thì chiều cao của cây là , do đó duy trì tìm kiếm tốt tính chất.
Vì vậy, câu hỏi là:
Có một số như vậy mà mỗi đủ lớn màu đỏ-đen cây là -balanced?μ
Định nghĩa về cây Đỏ-Đen mà chúng tôi sử dụng (từ Giới thiệu về Thuật toán của Cormen et al):
Cây tìm kiếm nhị phân, trong đó mỗi nút được tô màu đỏ hoặc đen và
- Rễ có màu đen
- Tất cả các nút NULL đều màu đen
- Nếu một nút có màu đỏ, thì cả hai con của nó đều màu đen.
- Đối với mỗi nút, tất cả các đường dẫn từ nút đó đến các nút NULL con cháu có cùng số nút đen.
Lưu ý: chúng tôi không tính các nút NULL trong định nghĩa của -balbal ở trên. (Mặc dù tôi tin rằng nó không quan trọng nếu chúng ta làm).