Título: como se libera la memoria de un arbol? Publicado por: Beginner Web en 17 Noviembre 2018, 06:31 am Me surgio esa duda con arboles binarios :huh:
Título: Re: como se libera la memoria de un arbol? Publicado por: MAFUS en 17 Noviembre 2018, 11:25 am Vas buscando las hojas, nodos que no tienen hijos, y los liberas. Y así sucesivamente asta que liberas la raíz.
Título: Re: como se libera la memoria de un arbol? Publicado por: Beginner Web en 17 Noviembre 2018, 16:00 pm Y el padre de esa hoja no deberia apuntar a NULL antes de hacer el delete(); de la hoja?
Mejor dicho, primero extraigo la hoja, luego hago que su padre apunte a NULL, y recien hago el delete(extraido); Código
Título: Re: como se libera la memoria de un arbol? Publicado por: CalgaryCorpus en 17 Noviembre 2018, 16:09 pm Tener referencias hacia nodos liberados tendrá problemas si decides desrefenciarlas, si no es así, no habrá problema alguno.
Título: Re: como se libera la memoria de un arbol? Publicado por: Beginner Web en 17 Noviembre 2018, 19:31 pm Y esto estaria bien? no me convence, creo que estoy confundiendo todo con listas :c
Código
Título: Re: como se libera la memoria de un arbol? Publicado por: AlbertoBSD en 17 Noviembre 2018, 19:42 pm Si esta bien, la solucion recursiva que muestras si lo es.
saludos! Título: Re: como se libera la memoria de un arbol? Publicado por: Beginner Web en 17 Noviembre 2018, 21:04 pm Mmmm la verdad no me funciona, sera porque cree los nodos con new y deberia usar delete? :huh:
Título: Re: como se libera la memoria de un arbol? Publicado por: AlbertoBSD en 17 Noviembre 2018, 22:29 pm Mmmm la verdad no me funciona, sera porque cree los nodos con new y deberia usar delete? :huh: De hecho. Título: Re: como se libera la memoria de un arbol? Publicado por: Beginner Web en 17 Noviembre 2018, 22:55 pm Si hago esto funciona, pero me gustaria saber si de verdad el arbol quedo liberado del todo, pero ya me dio flojera
Código
Título: Re: como se libera la memoria de un arbol? Publicado por: AlbertoBSD en 17 Noviembre 2018, 23:19 pm Puedes estar seguro que free va a realizar su trabajo. Siempre y cuando el parámetro sea un apuntador valido.
Saludos Título: Re: como se libera la memoria de un arbol? Publicado por: CalgaryCorpus en 17 Noviembre 2018, 23:40 pm free libera la memoria, delete es mas poderoso, pues si se trata de un puntero a un objeto, invoca al destructor del mismo (y libera la memoria despues).
La combinacion alloc (o malloc) y free, no se intercambia con new y delete, si solicitaste memoria con new, libera con delete, si pediste con alloc (o alguno de sus parientes), liberas con free. Título: Re: como se libera la memoria de un arbol? Publicado por: Beginner Web en 18 Noviembre 2018, 00:23 am Eso leí por ahi, muchas gracias chicos :D
|