Árbol :: Binario

Árbol :: Binario es un árbol binario orientado a objetos para Perl.
Descargar ahora

Árbol :: Binario Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Stevan Little
  • Sitio web del editor:
  • http://search.cpan.org/~stevan/

Árbol :: Binario Etiquetas


Árbol :: Binario Descripción

Árbol :: Binario es un árbol binario orientado a objetos para PERL. Árbol :: Binario es un árbol binario orientado a objetos para el árbol de uso perl.synopsis :: binario; # un árbol representador de la expresión: ((2 + 2) * (4 + 5)) My $ BTee = Tree :: Binary-> Nuevo ("*") -> Setleft (Árbol :: Binario-> nuevo ( "+") -> Setleft (Árbol :: Binario-> Nuevo ("2") -> SetTright (Árbol :: Binario-> Nuevo ("2"))) -> SetTright (Árbol :: Binario-> Nuevo ("+") -> SetLeft (Árbol :: Binario-> Nuevo ("4") -> SetTright (Árbol :: Binario-> Nuevo ("5")); # O se muestra visualmente: # + --- (*) --- + # | | # + - (+) - + + - (+) - + # | | | | # (2) (2) (4) (4) (5) # Obtenga un visitante de entrada My $ Visitor = Tree :: Binary :: Visitante :: InderTrAversal-> Nuevo (); $ bTree-> Aceptar ($ visitante); # Imprima la expresión en Infix Pedido Imprimir $ Visitant-> Getacumulación (); # Imprime "2 + 2 * 4 + 5" # Obtenga un visitante de preorden My $ Visitor = Tree :: Binario :: Visitante :: preordertrafersal-> nuevo (); $ bTree-> Aceptar ($ visitante); # Imprimir la expresión en el pedido de prefijo, impresión $ visitante-> getacumulación (); # imprime "* + 22 + 45" # Obtenga un visitante postorregante My $ Visitor = Tree :: Binario :: Visitante :: PosterorderTraversal-> Nuevo (); $ bTree-> Aceptar ($ visitante); # Imprima la expresión en la orden de postfix Imprimir $ visitante-> getacumulación (); # imprime "22 + 45 + *" # Obtenga una amplia vista al primer visitante My $ Visitor = Tree :: Binary :: Visitante :: BreadthfirstTraversal-> Nuevo (); $ bTree-> Aceptar ($ visitante); # Imprimir la expresión en amplitud PRIMER PEDIDO IMPRESIÓN $ VISITANTE-> GetCumulation (); # Imprime "* + + 22 45" # Asegúrese de limpiar todas las referencias circulares $ bTree-> Destruir (); Este módulo es una implementación completamente orientada a objetos de un árbol binario. Los árboles binarios son un tipo especializado de árbol que tiene solo dos ramas posibles, una rama izquierda y una rama derecha. Si bien es posible usar un árbol n-ary, como el árbol :: simple, para llenar la mayoría de sus necesidades de árboles binarios, un verdadero objeto de árbol binario es más fácil de mantener mantoin y usar. Los objetos de árboles binarios son especialmente útiles (para mí de todos modos. ) Al construir árboles de parse de cosas como expresiones matemáticas o booleanas. También se pueden utilizar en juegos para cosas como las deficiones de árboles. Los árboles binarios son una estructura de datos bien estudiados y hay una gran cantidad de información en la web sobre ellos. Este módulo utiliza excepciones y un diseño mínimo por estilo de contrato. Se requieren todos los argumentos del método a menos que se especifique en la documentación, si no se define un argumento requerido, generalmente se lanzará una excepción. También se requieren muchos argumentos para ser de un tipo específico, por ejemplo, el argumento de $ árbol para los métodos de sellado y setright, debe ser un árbol :: objeto binario o un objeto derivado del árbol :: binario, de lo contrario se lanza una excepción. Esto puede parecer duro para algunos, pero esto me permite tener la confianza de que mi código funciona a medida que tengo la intención, y para que disfrute del mismo nivel de confianza al usar este módulo. Sin embargo, tenga en cuenta que este módulo no usa ninguna excepción o módulo de error, las excepciones son solo las cuerdas lanzadas con DIE. Este objeto usa una serie de métodos copiados de otro módulo mío, Árbol :: Simple. Los usuarios de ese módulo encontrarán muchos métodos y comportamientos similares. Sin embargo, no tenía sentido para el árbol :: binario se derivará del árbol :: simple, ya que hay una serie de métodos en el árbol :: simple que simplemente no tendría sentido en el árbol :: binario. Por lo tanto, mientras que normalmente no apruebo de la reutilización de código de corte y pegar, fue lo que tenía más sentido en este caso. Requisitos: · Requisitos de Perl: · Perl


Árbol :: Binario Software relacionado