Dua pohon pencarian biner dikatakan setara secara linear ketika mereka setuju dalam traversal berurutan mereka. Teorema berikut menjelaskan mengapa rotasi pohon sangat mendasar:
Biarkan A dan B menjadi pohon pencarian biner. Kemudian A dan B setara secara linier jika dan hanya jika mereka dihubungkan oleh urutan rotasi pohon.
Saya perhatikan hasil ini ketika saya pertama kali belajar tentang struktur data sejak lama dan ingin memahami status khusus rotasi pohon lebih dalam.
Buktinya sederhana dan intuitif: Putar elemen terkecil ke posisi root di sepanjang tulang belakang kiri. Sesuai urutan pesanan, pohon yang disusun ulang ini tidak boleh memiliki subtree kiri. Sekarang ulangi pada subtree kanan. Hasilnya adalah bentuk normal untuk menguji kesetaraan linier.
Meskipun ini adalah teorema dasar, saya tidak pernah menemukan itu dalam literatur. Saya akan sangat menghargai referensi untuk waktu berikutnya saya perlu menggunakan hasil ini.
(Bonus asah otak: Apa algoritma terbaik untuk menemukan urutan rotasi pohon terpendek yang menghubungkan dua pohon pencarian biner yang setara secara linear?)