Duda almacenamiento de resultados durante recursión #109
-
Hola! Estoy desarrollando la parte 2 de la tarea y tengo una consulta sobre los algoritmos recursivos de búsqueda. Como el formato de print en el output es incluyendo la cantidad de total de resultados antes de la lista con todos los resultados, asumo que hay que avanzar en la recursión y no hacer el fprintf hasta que se hayan recorrido todos los nodos relevantes. Entonces entiendo que habría que ir guardando los datos de algún modo e ir pasándolos en cada llamado de la función, para agregarlo al outputfile todos al final. Con respecto a esto, cuál sería la aproximación adecuada para ir guardando estos datos, considerando la memoria y complejidad de búsqueda? Lo que se me ocurrió hasta ahora fue ir concatenando un array de texto inicialmente vacío con los valores a imprimir de cada nodo una vez encontrado, pero para esto debo crear el array con un tamaño inicial que asuma un caso muy grande, para asegurarse que siempre pueda contener las consultas (hasta ahora me funciona con los test "char result[5000]"). Estaría correcto abordarlo de esta manera? Gracias de antemano! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hola! |
Beta Was this translation helpful? Give feedback.
Hola!
depende mucho de la implementación que hayas generado para la construcción de árbol. Por ejemplo, si abordas la propuesta explicada durante la sala de ayuda, podrías hacer que el nodo del árbol posea un int que represente el largo de la lista que maneja colisiones de igual valor. De esta forma no crear una estructura aparte, y solo se actualiza este valor al insertar nuevo nodo Por otro lado, si necesitas varios valores de int , como por ejemplo de búsqueda en rango, en este caso podrías sumar de forma fácil este dato de todos los nodos de importancia.
Ahora otra opción es recorrer y sumar cada instancia de nodo que te sirva y luego agregar el printf. Recuerda que para la complejida…