[Python-es] Problema a la hora de crear árbol binario en Python

Asdrúbal Iván Suárez Rivera asdrubal.ivan.suarez.rivera en gmail.com
Dom Mar 11 01:13:53 CET 2012


El 10 de marzo de 2012 19:22, Andrey Antoukh <andsux en gmail.com> escribió:

> Un ejemplo seria poder crear una instancia vacía de NodoArbolBPrioridad y
> en el constructor de ArbolBusquedaPrioridad self.raiz en vez de ser None
> ser la instancia vacía de NodoArbolBPrioridad
> Siendo un objeto, cuando la pases como parámetro, la pasaras como
> referencia ;)
>
>
Perfecto... He captado tu idea, muchas gracias por la información!


>
> El 10 de marzo de 2012 23:32, Asdrúbal Iván Suárez Rivera <
> asdrubal.ivan.suarez.rivera en gmail.com> escribió:
>
> Ummm... Habrá alguna forma pythonica por la que se pueda hacer esta
>> modificación?... No se me ocurre muy bien como simular un puntero.
>>
>> El 10 de marzo de 2012 17:41, Andrey Antoukh <andsux en gmail.com> escribió:
>>
>> En python, los parámetros de tipo primitivo se pasan por valor, y
>>> los parámetros contenedores objetos o diccionarios, se pasan por referencia.
>>> En tu caso, le estas pasando un None, es un tipo "primitivo" lo que
>>> conlleva que se pasa por valor, y por mucho que lo modifiques, no se
>>> quedara reflejado.
>>>
>>> Andrei.
>>>
>>> El 10 de marzo de 2012 23:03, Asdrúbal Iván Suárez Rivera <
>>> asdrubal.ivan.suarez.rivera en gmail.com> escribió:
>>>
>>>> Buenas tardes a todos los miembros de la lista, tengo el siguiente
>>>> código, el cual debería generar un árbol binario de búsqueda con prioridad
>>>> (Aunque le faltan algunos detalles) Sin embargo, a la hora de crear un nodo
>>>> tengo el problema de que este nodo se crea en la función self._insertar
>>>> pero el cambio no se ve reflejado en el árbol como tal. Paso la variable
>>>> self.raiz a esa función, pero la misma no se modifica, pensé que todos los
>>>> pases de valores a funciones en python eran por referencia. Ya sé que esto
>>>> es una pregunta un poco newbie, pero me gustaría me aclaren esto
>>>>
>>>> Código del Arbol
>>>>
>>>> http://pastebin.com/G0S2uaRa
>>>>
>>>> Código del Constructor de la clase nodo
>>>>
>>>> http://pastebin.com/ViweGA3H
>>>>
>>>>
>>>>
>>>> --
>>>> Asdrúbal Iván Suárez Rivera
>>>>
>>>> *El éxito de alguien que enseña no es que sepa mucho, sino que lo poco
>>>> que sabe lo sepa hacer llegar.*
>>>>
>>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> http://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Andrei Antoukh - <niwi en niwi.be>
>>> http://www.niwi.be/page/about/
>>> http://www.kaleidos.net/A5694F/
>>>
>>> "Linux is for people who hate Windows, BSD is for people who love UNIX"
>>> "Social Engineer -> Because there is no patch for human stupidity"
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>>
>> --
>> Asdrúbal Iván Suárez Rivera
>>
>> *El éxito de alguien que enseña no es que sepa mucho, sino que lo poco
>> que sabe lo sepa hacer llegar.*
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> Andrei Antoukh - <niwi en niwi.be>
> http://www.niwi.be/page/about/
> http://www.kaleidos.net/A5694F/
>
> "Linux is for people who hate Windows, BSD is for people who love UNIX"
> "Social Engineer -> Because there is no patch for human stupidity"
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Asdrúbal Iván Suárez Rivera

*El éxito de alguien que enseña no es que sepa mucho, sino que lo poco que
sabe lo sepa hacer llegar.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120310/5b77b629/attachment.html>


Más información sobre la lista de distribución Python-es