Clasificación por:Árbol de búsqueda binaria
Frecuentes
Visto 2,346 veces
1
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:
2 Respuestas
1
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
1
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 algorithm data-structures tree binary-search-tree or haz tu propia pregunta.
¿Puede señalar algo específico en las diapositivas que sea confuso? No estoy seguro. - Justin
@Justin: Claro, solo tomo una captura de pantalla y la publico. - Nishant Kumar
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. - twalberg
@Gracias Twalberg Ahora entendí tu punto... Una vez más gracias - Nishant Kumar