Ben keyfi boyut ve aralık iki ikili arama ağaçlarını birleştirmek için bir algoritma arıyorum. Bunu uygulamakla ilgili en açık yol, menzili diğer ağaçtaki keyfi bir dış düğüme sığabilecek tüm alt ağaçları bulmak olacaktır. Bununla birlikte, bu tür bir algoritma için en kötü durum çalışma süresi, sırasıyla her ağacın O(n+m)
nerede n
ve m
büyüklüğündedir.
Ancak, bunun yapılabileceği söylendi , ağacın yüksekliği daha büyük olan yükseklik O(h)
nerede h
. Ve bunun nasıl mümkün olduğu konusunda tamamen kayboldum. İlk önce bir ağacı döndürmeyi denedim, ama bir ağacı bir omurgaya döndürmek zaten O (h).
O(log n)
basit bir hareket düğümü işleviyle kolayca yapılamaz mı?
n
. Sadece tam veya tam ikili ağaçların toplam düğüm sayısına göre logaritmik bir yüksekliği vardır.