Título: Recursion en bst Publicado por: Beginner Web en 12 Enero 2019, 01:59 am Hola, se puede sumar los valores de las ramas interiores de un arbol binario de busqueda? Quiero decir que sume todos los nodos excepo la raiz y las hojas, me parece que con recursividad no se puede pero si alguien sabe como hacerlo me lo hace saber, esto tengo hecho, me suma la raiz y no quiero eso >:D
Código Y la funcion iterativa que use para hacer esta operación la hice de esta forma Código
Título: Re: Recursion en bst Publicado por: CalgaryCorpus en 12 Enero 2019, 04:07 am Se puede hacer recursivamente, en esa función, llamemosla f, suma 0 cuando sea una hoja, suma todo el resto recursivamente, retorna el valor de la suma y haz una función que llame a f y le reste el valor que está en la raíz.
Título: Re: Recursion en bst Publicado por: dijsktra en 17 Enero 2019, 14:35 pm Puedes marcar la raiz en el cálculo pasándola por parámetro.
Código
Título: Re: Recursion en bst Publicado por: Beginner Web en 18 Enero 2019, 23:37 pm Tiene razón, me siento estupida, pero de todas formas no quiero pasar dos parametros solo el arbol nada mas y si no se puede pues ni modo. :-(
Título: Re: Recursion en bst Publicado por: MAFUS en 19 Enero 2019, 21:01 pm Puedes llamar a una función (que te haga de interface recibiendo sólo el árbol) y esta llame a la función que hará realmente el trabajo, la de dos argumentos.
Por cierto, deberías empezar a usar clases, trabajas con C++ y te aferras demasiado con el modo C de hacer las cosas. Título: Re: Recursion en bst Publicado por: Beginner Web en 19 Enero 2019, 21:09 pm MAFUS que acabo de escribir arriba? Tiene que ser una sola funcion y recibir un solo parametro y que esa funcion haga todo sino no tiene sentido, si es asi como dices entonces hago un procedimiento y listo pero no. Igual perdonen por no poner arriba esas condiciones me despido con un fuerte abrazo
Título: Re: Recursion en bst Publicado por: dijsktra en 21 Enero 2019, 10:47 am Tiene razón, me siento estupida, pero de todas formas no quiero pasar dos parametros solo el arbol nada mas y si no se puede pues ni modo. :-( Ya... Te entiendo. Para lograrlo, tienes que hacer distinguible la raiz del resto de nodos de algún modo. Y esto se hace de dos maneras:
De otro modo no se puede... Es como si, en tu solución iterativa, dijeras que no puedes porque antes del buble while solo está permitido empezar con pilas vacías. O en otra brillante metáfora, dicha por un político en otro contexto Citar como un hombre con los pies en un cubo tratando de levantase tirando de la asa Espero que esto te valga :D . Ahh! Y no me parece que seas "estúpida" por preguntar eso. La mayoría de los chicos y chicas de tu edad, a los 14 años, se dedican a jugar a video juegos, sin profundizar en las cuestiones fundamentales de la computación. Te propongo esta con el "truco" de static Código
Esta es la salida del programa Código: Adding internal nodes 19 |