Clasificación por:Árbol de búsqueda binaria

Estoy un poco confundido con respecto al peor tiempo del caso y la complejidad del tiempo promedio del caso. Mi fuente de confusión es Aquí

Mi objetivo es acortar datos en orden creciente: elijo BST para realizar mi tarea de clasificación. Aquí estoy poniendo lo que estoy haciendo para imprimir datos en orden creciente.

 1) Construct a binary search tree for given input.
        Time complexity: Avg Case O(log n)
                         Worst Case O(H) {H is height of tree, here we can Assume Height is equal to number of node H = n}

 2)After Finishing first work I am traversing BST in Inorder to print data in Increasing order. 
        Time complexity: O(n) {n is the number of nodes in tree}

Now  I analyzed total complexity for get my desire result (data in increasing order) is for Avg Case: T(n) = O(log n) +O(n) = max(log n, n) = O(n)
      For Worst Case : T(n) = O(n) +O(n) = max(n, n) = O(n)

El punto anterior fue mi comprensión, que es diferente del concepto de enlace anterior. Sé que estoy haciendo una interpretación incorrecta. Por favor, corrígeme. Agradecería su sugerencia y pensamiento.

Consulte este título en la diapositiva que he mencionado: enter image description here

preguntado el 22 de mayo de 12 a las 14:05

¿Puede señalar algo específico en las diapositivas que sea confuso? No estoy seguro. -

@Justin: Claro, solo tomo una captura de pantalla y la publico. -

Incluso después de revisar la información vinculada, no estoy seguro de cuál es su pregunta real. Sin embargo, debería ser bastante evidente que, sin importar cuál sea su estructura de datos, no hay forma de visitar todos los nodos en nada menos que O(n). Insertar (o eliminar o buscar) un solo nodo puede ser O (log n), pero construir el árbol completo obviamente inserta cada nodo, por lo que tomaría n * O (log n) == O (n log n) - tal vez eso es lo que te estás perdiendo Su artículo (1) cita el tiempo promedio/peor para una sola inserción, sin construir todo el árbol. -

@Gracias Twalberg Ahora entendí tu punto... Una vez más gracias -

2 Respuestas

En (1) proporciona el tiempo por elemento, debe multiplicar con el número de elementos.

contestado el 22 de mayo de 12 a las 15:05

Quiere decir n tiempo en cada inserción de elemento, es decir, si tenemos cuatro elementos {1,2,3,4} y cada uno tiene un costo de 5, entonces el costo total = 5*1 +5*1 +5*1 +5*1 , De esta manera, en BST, n elemento tomará n ^ 2 Tiempo. ¿Estoy en lo cierto Stefan? nishant kumar

Si. El costo de una inserción en el peor de los casos es O(H). Entonces, el costo de n inserciones es O (n * n). - Stefan Haustein

La complejidad de tiempo necesaria para construir el árbol binario es n veces la complejidad que sugiere, ya que necesita insertar cada nodo.

contestado el 22 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.