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?)
sumber
Jawaban:
Seperti yang ditunjukkan David Eppstein di sini , bahkan menemukan jalur terpendek untuk pohon biner tidak diketahui berada di P. Dalam komentar untuk jawaban itu ia terhubung ke batas terbaik saat ini
sumber
Sebuah makalah awal yang membuat pengamatan ini secara eksplisit - bahwa rotasi menjaga traverse inorder - adalah (dalam Gambar 2 dari) Sleator dan Tarjan's 1983, pohon pencarian biner yang menyesuaikan diri . Heuristik pindah-ke-akar dipelajari dalam makalah Allen Binary Search Trees Allen and Munro tahun 1978 .
sumber
Karena Anda tertarik pada struktur rotasi pohon, saya pikir Anda mungkin juga tertarik dengan makalah berikut, yang menunjukkan bahwa grafik rotasi pohon biner dari sejumlah node memiliki siklus Hamilton . Faktanya Lucas menunjukkan bahwa siklus dapat dilalui dengan penundaan konstan per pohon. (Rotasi dapat dilakukan diO ( 1 ) waktu tentu saja, tetapi tidak jelas apriori bahwa kita harus dapat memutuskan rotasi yang akan dilakukan sepanjang siklus Hamiltonian di O ( 1 ) waktu.) Secara alami, Anda mungkin juga tertarik dengan referensi di dalamnya.
Joan M. Lucas, Grafik rotasi pohon biner adalah Hamiltonian, Jurnal Algoritma, Volume 8, Edisi 4, Desember 1987, Halaman 503-535, ISSN 0196-6774, DOI: 10.1016 / 0196-6774 (87) 90048-4 .
Bukti yang lebih sederhana, juga konstruktif, dari fakta yang lebih sederhana bahwa jalur Hamilton ada dalam grafik rotasi dapat ditemukan dalam makalah ini nanti yang ditulis bersama oleh Lucas dan kolaboratornya.
Lucas JM, DR Vanbaronaigien, Ruskey F., Tentang Rotasi dan Generasi Pohon Biner, Jurnal Algoritma, Volume 15, Edisi 3, November 1993, Halaman 343-366, ISSN 0196-6774, DOI: 10.1006 / jagm.1993.1045 .
sumber
Bukti yang lebih sederhana, juga konstruktif, dari fakta yang lebih sederhana bahwa jalur Hamiltonian keluar dalam grafik rotasi dapat ditemukan dalam yang terakhir ini.
sumber