Diré que sí … pero con una advertencia.
La advertencia es que hacerlo puede requerir mucho trabajo adicional, y puede requerir cambiar sus estructuras de datos.
Un ejemplo es eliminar un nodo de un árbol equilibrado.
- ¿Cuál es la técnica / algoritmo utilizado por mensajeros como WhatsApp y BBM para comprimir imágenes?
- Cómo explicar el algoritmo 'Tamiz de campo numérico' a un programador con antecedentes matemáticos limitados
- ¿Qué es la ordenación de tramas en las redes?
- Informática: ¿Cuál es el futuro de la investigación en algoritmos?
- ¿Cuál es el algoritmo utilizado por Diffbot para extraer datos web?
La solución recursiva es limpia y simple. El árbol solo necesita dos enlaces.
La solución iterativa modifica la estructura del nodo del árbol O debe simular la pila utilizando matrices dinámicas.
La modificación del árbol de nodos agrega un vínculo de retroceso al padre de un nodo. Esto permite que la solución iterativa retroceda el árbol desde un nodo para equilibrar el árbol al eliminar un nodo (en cuanto a velocidad, no está mal, pero usa más memoria para cada nodo). Simular la pila es una alternativa … pero requiere muchas asignaciones y desasignaciones (incluso más lento que modificar el árbol).
A veces, la recursión es realmente la mejor solución.