Sto cercando un algoritmo per unire due alberi binari di ricerca di dimensioni e intervallo arbitrari. Il modo ovvio in cui procederei per implementarlo sarebbe quello di trovare interi sottotitoli il cui intervallo può adattarsi a un nodo esterno arbitrario nell'altro albero. Tuttavia, il peggior tempo di esecuzione per questo tipo di algoritmo sembra essere nell'ordine di O(n+m)dove ne msono rispettivamente le dimensioni di ciascun albero.
Tuttavia, mi è stato detto che questo potrebbe essere fatto O(h), dov'è hl'altezza dell'albero con l'altezza maggiore. E mi sono completamente perso su come ciò sia possibile. Ho provato a sperimentare prima di ruotare uno degli alberi, ma ruotare un albero in una spina dorsale è già O (h).
O(log n)con una semplice funzione di spostamento del nodo?
n. Solo gli alberi binari completi o completi hanno un'altezza logaritmica rispetto al numero totale di nodi.