¿Cuál es la ventaja de un árbol de búsqueda binaria sobre una matriz ordenada con búsqueda binaria? Solo con el análisis matemático no veo una diferencia, así que supongo que debe haber una diferencia en la sobrecarga de implementación de bajo nivel. El análisis del tiempo medio de ejecución de casos se muestra a continuación.búsqueda binaria vs árbol de búsqueda binaria
matriz ordenada con búsqueda binaria
búsqueda: O (log (n))
inserción: O (log (n)) (corremos búsqueda binaria para encontrar dónde insertar el elemento)
eliminación: O (log (n)) (corremos búsqueda binaria para encontrar el elemento a borrar)
binario árbol de búsqueda
búsqueda: O (log (n))
de inserción: O (log (n))
eliminación: O (log (n))
Búsqueda binaria tre Es el peor caso de O (n) para las operaciones enumeradas anteriormente (si el árbol no está equilibrado), por lo que parece que en realidad sería peor que el ordenado ordenado con búsqueda binaria.
Además, no estoy suponiendo que tengamos que ordenar la matriz de antemano (lo que costaría O (nlog (n)), insertaríamos elementos uno por uno en la matriz, tal como lo haríamos para el árbol binario . El único beneficio de BST que puedo ver es que soporta otros tipos de recorridos como el finde, pre-pedido, orden posterior.
La inserción y eliminación de la matriz de búsqueda binaria es O (n) y el único hallazgo es O (log (n)). –
Si fue, digamos, una lista vinculada en lugar de una matriz, entonces la inserción/eliminación tomará 'O (log n)'. Pero no es así para una matriz. – Bhaskar
@Bhaskar, otro comentario erróneo, cualquier tipo de búsqueda en una lista vinculada es O (n). – Blindy