En esencia, un árbol binario es un caso general de una lista vinculada. En una lista vinculada, cada nodo tiene una próxima referencia y en un árbol binario sus dos hijos pueden interpretarse como dos referencias siguientes .
En el peor de los casos, ambas estructuras de datos tendrán la misma complejidad de tiempo para realizar una búsqueda (tiempo lineal). Esto se debe a que es posible que el árbol binario tome la forma de una cadena, que estructuralmente es una lista vinculada.
Ahora a su pregunta, suponiendo que evite que ocurra la situación anterior y que el árbol binario satisfaga la propiedad del árbol de búsqueda binario (BST), en lugar de tener que pasar por cada nodo en la estructura de datos, una búsqueda recorrerá una ruta más corta en el árbol que en la lista vinculada. Por lo tanto, observará tiempos de búsqueda más rápidos.
- Cómo ordenar una matriz 2D de tipo char utilizando la función C ++ sort () o qsort ()
- ¿Podemos hacerlo mejor en complejidad de tiempo que el siguiente código para calcular la suma de los primeros 10 primos?
- ¿En qué punto Watson podrá crear sus propios algoritmos?
- ¿Es imprescindible aprender estructuras de datos y algoritmos si quiero convertirme en desarrollador de backend?
- ¿Cuál es la complejidad del algoritmo criptográfico RSA?
De hecho, si mantiene la propiedad BST y el árbol está equilibrado , las búsquedas tardarán [math] O (\ log {n}) [/ math] en el peor de los casos.