¡Hola!
Supongo que por etiquetado, quiere decir que cada nodo tiene una “clave” que es un número. Si es así, entonces sí, siempre puede construir un BST utilizando una función Insert ().
Un árbol de búsqueda binaria (BST) es un árbol binario con dos propiedades que se satisfacen en cada nodo:
- ¿Qué se entiende por 'profundidad' en DFS?
- ¿Cuál es la diferencia entre recursividad e iteraciones brevemente?
- ¿Cuáles son algunos conceptos erróneos comunes sobre los algoritmos?
- Cómo encontrar la suma de números naturales que suman N usando formularios y funciones en HTML
- ¿Bajo qué escenarios son apropiados los siguientes algoritmos de ruta más corta?
- Cada nodo en el subárbol izquierdo de v tiene una clave menor o igual que la clave del nodo v .
- Cada nodo en el subárbol derecho de v tiene una clave mayor que la clave del nodo v .
Cualquier árbol binario con las dos propiedades anteriores es un BST. Sin embargo, el BST que cree no necesita ser de altura equilibrada . Con eso quiero decir que la altura del BST (que tiene n nodos) no necesita ser O (log n) . Por lo tanto, la operación de búsqueda puede llevar más tiempo que O (log n) (recuerde, la complejidad del tiempo para Search () e Insert () es O (h) donde h es la altura del BST).
Si desea un árbol de altura equilibrada, eche un vistazo a Red Black Tree.
Espero que esto ayude.