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

Òscar Vilaplana hi en oscarvilaplana.cat
Lun Mar 12 15:42:08 CET 2012


2012/3/12 Asdrúbal Iván Suárez Rivera <asdrubal.ivan.suarez.rivera en gmail.com
>

> 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.
>

Prueba a escribir tests:

   - de la función que calcula la mediana.
   - de la función que añade los nodos al árbol.
      - prueba creando un árbol de 1 solo nodo (trivial), luego 2, luego
      3... hasta un número suficientemente grande.

Para escribir tests, si usas py.test, puedes mirar
http://oscarvilaplana.cat/post/pytest-tricks/ . Te será útil a la hora de
generar los tests que añaden nodos al árbol. Si no, unittest también te
vale.

Saludos,

Òscar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120312/bd01853e/attachment.html>


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