Hai cây tìm kiếm nhị phân được cho là tương đương tuyến tính khi chúng đồng ý theo các đường ngang theo thứ tự. Định lý sau đây giải thích tại sao luân canh cây rất cơ bản:
Đặt A và B là cây tìm kiếm nhị phân. Khi đó A và B tương đương tuyến tính khi và chỉ khi chúng được kết nối bằng một chuỗi các phép quay của cây.
Tôi nhận thấy kết quả này khi lần đầu tiên tôi học về cấu trúc dữ liệu từ lâu và muốn hiểu sâu hơn về trạng thái đặc biệt của việc xoay cây.
Bằng chứng rất đơn giản và trực quan: Xoay phần tử nhỏ nhất lên đến vị trí gốc dọc theo cột sống bên trái. Theo thứ tự bất biến, cây được sắp xếp lại này không thể có một cây con trái. Bây giờ tái diễn trên cây con bên phải. Kết quả là một hình thức bình thường để kiểm tra tương đương tuyến tính.
Trong khi đó là một định lý cơ bản, tôi chưa bao giờ bắt gặp nó trong tài liệu. Tôi sẽ đánh giá rất cao một tài liệu tham khảo cho lần tiếp theo tôi cần sử dụng kết quả này.
(Phần thưởng trêu ghẹo não: Thuật toán tốt nhất để tìm chuỗi luân chuyển cây ngắn nhất kết nối hai cây tìm kiếm nhị phân tương đương tuyến tính là gì?)