Un árbol de búsqueda binaria es un árbol donde cada nodo tiene un hijo izquierdo y derecho. Puede faltar cualquiera de los niños, o ambos niños. Suponiendo que k representa el valor de un nodo dado, entonces un árbol de búsqueda binario también tiene la siguiente propiedad: todos los hijos a la izquierda del nodo tienen valores menores que k , y todos los hijos a la derecha del nodo tienen valores mayores que k . La parte superior de un árbol se conoce como la raíz , y los nodos expuestos en la parte inferior se conocen como hojas . Para buscar en un árbol un valor dado, comenzamos en la raíz y trabajamos hacia abajo.
Por ejemplo, para buscar 16, primero notamos que 16 7, por lo que atravesamos al niño correcto. Cada comparación da como resultado la reducción de la mitad de los elementos a inspeccionar. A este respecto, el algoritmo es similar a una búsqueda binaria en una matriz. Sin embargo, esto es cierto solo si el árbol está equilibrado.
- ¿Cuál es una forma rápida de factorizar números con 12 dígitos sin utilizar ningún algoritmo de división de prueba o Pollard-Rho?
- ¿Cuáles son las aplicaciones del mundo real de algunas estructuras de datos avanzadas, y cuándo elegiría una estructura de datos sobre otra, en el caso de estructuras de datos similares?
- Crear un algoritmo simple me lleva horas, ¿cómo puedo ser más rápido?
- ¿Cómo planificarías un campamento de algoritmos y estructuras de datos de un mes?
- Soy un desarrollador web que trabaja en el marco Python Django durante el año pasado. ¿Puedo aprender estructuras de datos y algoritmos si paso solo 2-3 horas diarias?