O (n1 * log (N2)) es el escenario del caso promedio, incluso si tenemos 2 de combinación de cualquier lista sin ordenar en una BST. No estamos utilizando el hecho de que la lista está lista ordenada o una BST.
Según yo Vamos a suponer una BST tiene elementos n1 y n2 otro tiene elementos. Ahora convertir un BST en una matriz ordenada la lista L1 en O (n1).
BST Fusionada (BST, Array)
si (Array.size == 0) retorno BST si (Array.size == 1) insertar el elemento en el BST. volver BST;
Encontrar el índice de la matriz cuyo elemento izquierdo <BST.rootnode y el elemento derecho> = BST.rootnode dicen Índice. si (BST.rootNode.leftNode == null) // es decir, ningún nodo izquierda {insertar toda la matriz a partir de Índice a 0 en la izquierda de BST y} else {BST Fusionada (BST.leftNode, Array {0 al índice})}
si (BST.rootNode.rightNode == null) // es decir, ningún nodo derecha {insertar toda la matriz a partir de Índice a Array.size en derecho de BST} else {BST Fusionada (BST.rightNode, Array {Índice de Array.size} )}
volver BST.
Este algoritmo se llevará << tiempo que O (n1 * log (N2)) ya que cada vez estamos partición de la matriz y BST para manejar el subproblema.