Definitivamente no es O (NlogN) , pero para conocer la complejidad real no proporciona suficientes datos. Puede ser mejor que O (N) . La respuesta depende del tipo de árbol binario.
Si no tenemos ninguna información sobre el árbol, podemos terminar visitando cada nodo del árbol una vez, pero no sería necesario que hagamos más que eso. Por lo tanto, O (N) definitivamente será suficiente.
Si se trata de un árbol equilibrado (porque esa propiedad se aseguró al construir el árbol), solo necesitaremos seguir una rama y las propiedades de los árboles equilibrados asegurarán que las longitudes de las ramas sean O (log (N)) .
- ¿Cómo se puede usar la máquina épsilon para realizar cálculos precisos de coma flotante?
- ¿En qué se diferencia un árbol de búsqueda binario de un árbol binario?
- ¿Cuál es el algoritmo perfecto para extraer la forma, el color, la textura y los bordes de las partes cilíndricas en MATLAB en preparación para el aprendizaje supervisado?
- ¿Qué calcularía los algoritmos pesados en matemáticas más rápido: FPGA o GPU?
- ¿Qué tan bien funcionan los algoritmos predictivos que analizan los guiones de películas?
Pero incluso podríamos construir nuestro árbol para que cada nodo esté etiquetado con la altura del subárbol. Luego, conocer la altura del árbol se convertirá en O (1) : solo mire el valor que se mantiene en el nodo.
Por supuesto, los árboles no triviales necesitan un esfuerzo adicional y no lo haríamos sin un propósito específico.