Estou procurando um algoritmo para mesclar duas árvores de pesquisa binária de tamanho e alcance arbitrários. A maneira óbvia de implementar isso seria encontrar subárvores inteiras cujo intervalo pode caber em um nó externo arbitrário na outra árvore. No entanto, o pior caso de tempo de execução para esse tipo de algoritmo parece estar na ordem de O(n+m)onde ne mé o tamanho de cada árvore, respectivamente.
No entanto, me disseram que isso poderia ser feito em O(h), onde hé a altura da árvore com a altura maior. E eu estou completamente perdido em como isso é possível. Eu tentei experimentar girar uma das árvores primeiro, mas girar uma árvore em uma espinha já é O (h).
O(log n)com uma simples função de nó de movimentação?
n. Somente árvores binárias completas ou completas têm uma altura logarítmica em relação ao número total de nós.