[Python-es] Implementación de Árbol de Búsqueda con Prioridad en Python

Chema Cortes pych3m4 en gmail.com
Mar Mar 13 02:18:07 CET 2012


El día 12 de marzo de 2012 15:02, Asdrúbal Iván Suárez Rivera
<asdrubal.ivan.suarez.rivera en gmail.com> escribió:
> Buenos días amigos, les escribo ya que tengo dudas con una implementación de
> un árbol de búsqueda con prioridad. En el mismo se debería cumplir la
> condición de que para todos los puntos y el árbol sea un heap min-max, y
> para los puntos x debería ser un árbol binario de búsqueda a la hora de
> realizar el recorrido infijo.
>
> Pues bien, en las pruebas que he hecho no es así. Sinceramente no sé que
> estoy haciendo mal. Según estaba leyendo en el artículo original donde se
> dió a conocer esta estructura de datos, durante la construcción del árbol,
> recursivamente debía calcularse la mediana de los puntos en x. Esto lo hago,
> y luego divido la lista entre valores menores y mayores que la mediana en X,
> según el artículo esto debería hacer que el árbol para x pasara a ser un
> árbol binario de búsqueda. Para y antes de construir el árbol he ordenado la
> lista decrecientemente según y.
>
> No sé de verdad que estaré haciendo mal.
>
> Si alguien me puede ayudar, estaré bastante agradecido.
>
> El código lo tengo en el siguiente repositorio git. Saludos
>
> https://bitbucket.org/asdrubalivan/arbolprioridad/src


Yo diría que la rama de la derecha se diferencia de la izquierda en
que deberías escoger el mínimo valor de 'y', que al ser una lista
ordenada es equivalente a escoger el último de la lista.


-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


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