Saya mencari algoritme untuk menggabungkan dua pohon pencarian biner dengan ukuran dan jangkauan yang berubah-ubah. Cara yang jelas saya akan menerapkan ini adalah untuk menemukan seluruh sub pohon yang jangkauannya dapat masuk ke dalam simpul eksternal yang berubah-ubah di pohon lain. Namun, kasus terburuk berjalan waktu untuk jenis algoritma tampaknya berada di urutan O(n+m)
di mana n
dan m
adalah ukuran masing-masing pohon masing-masing.
Namun, saya telah diberitahu bahwa ini bisa dilakukan di O(h)
, di mana h
ketinggian pohon dengan ketinggian lebih besar. Dan saya benar-benar bingung tentang bagaimana ini mungkin. Saya sudah mencoba bereksperimen dengan memutar satu pohon terlebih dahulu, tetapi memutar pohon menjadi tulang belakang sudah O (h).
O(log n)
dengan fungsi simpul gerak yang sederhana?
n
. Hanya pohon biner penuh atau lengkap memiliki tinggi logaritmik untuk jumlah total node mereka.