Árvore :: Binário.

árvore :: Binário é uma árvore binária orientada a objetos para Perl.
Baixe Agora

Árvore :: Binário. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Stevan Little
  • Site do editor:
  • http://search.cpan.org/~stevan/

Árvore :: Binário. Tag


Árvore :: Binário. Descrição

Árvore :: Binário é uma árvore binária orientada a objetos para Perl. Árvore :: Binário é uma árvore binária orientada a objetos para perl.synopsis usar árvore :: binário; # um representante da árvore da expressão: # ((2 + 2) * (4 + 5)) Meu $ Btree = Árvore :: Binary-> Novo ("*") -> Setleft (Árvore :: Binary-> Novo (Árvore) "+") -> Setleft (Árvore :: Binary-> Novo ("2")) -> Setright (Árvore :: Binary-> Novo ("2"))) -> Setright (Tree :: Binary-> Novo ("+") -> setleft (árvore :: binary-> new ("4")) -> Setright (Árvore :: Binary-> Novo ("5"))); # Ou mostrado visualmente: # + --- (*) --- + # | | # + - (+) - + + - (+) - + # | | | | # (2) (2) (5) # [5) # Obtenha um visitante de inorder My $ Visitor = Tree :: Binário :: Visitor :: inordertraversal-> Novo (); $ btree-> aceitar ($ visitor); # Imprimir a expressão no pedido do infix Print $ visitor-> GetAcumulação (); # imprime "2 + 2 * 4 + 5" # Obter um pré-encomenda Visitor My $ Visitor = Tree :: Binário :: Visitor :: Preordertraversal-> Novo (); $ btree-> aceitar ($ visitor); # Imprimir a expressão no pedido do prefixo Imprimir $ visitor-> getAcumulação (); # Impressões "* + 22 + 45" # Obtenha um postal Visitor My $ Visitor = Tree :: Binário :: Visitor :: Postordertraversal-> Novo (); $ btree-> aceitar ($ visitor); # Imprimir a expressão na ordem do postfix Imprimir $ visitor-> getAcumulação (); # imprime "22 + 45 + *" # Obtenha uma amplitude primeiro visitante My $ Visitor = Tree :: Binário :: Visitante :: BreadthFirstraversal-> Novo (); $ btree-> aceitar ($ visitor); # Imprimir a expressão na amplitude da primeira ordem Imprimir $ Visitor-> GetAcumulação (); # imprime "* + + 22 45" # Certifique-se de limpar todas as referências circulares $ Btree-> destruir (); este módulo é uma implementação totalmente orientada a objetos de uma árvore binária. As árvores binárias são um tipo especializado de árvore que tem apenas dois ramos possíveis, um ramo esquerdo e uma filial direita. Embora seja possível usar uma árvore N-Ary, como a árvore :: Simples, para preencher a maioria das suas necessidades binárias de árvores, um verdadeiro objeto de árvore binário é mais fácil de facilitar e usar. Os objetos de árvores são especialmente úteis (para mim de qualquer maneira ) Ao construir analvez as árvores de coisas como expressões matemáticas ou booleanas. Eles também podem ser usados em jogos para coisas como decisões. As árvores binárias são uma estrutura de dados bem estudada e há uma riqueza de informações na web sobre eles. Esse módulo usa exceções e um design mínimo por estilo contrato. Todos os argumentos do método são necessários, a menos que especificado na documentação, se um argumento requerido não estiver definido, uma exceção geralmente será lançada. Muitos argumentos também precisam ser de um tipo específico, por exemplo, o argumento $ tree para os métodos SetLEFT e Setright, deve ser uma árvore :: objeto binário ou um objeto derivado da árvore :: binário, caso contrário, uma exceção é lançada. Isso pode parecer dura para alguns, mas isso me permite ter a confiança de que meu código funciona como eu pretendo, e para você aproveitar o mesmo nível de confiança ao usar este módulo. Nota No entanto, que este módulo não use nenhum módulo de exceção ou erro, as exceções são apenas strings lançadas com o objeto. Este objeto usa um número de métodos copiados de outro módulo meu, árvore :: Simples. Os usuários desse módulo encontrarão muitos métodos e comportamentos semelhantes. No entanto, não fazia sentido para a árvore :: Binário para ser derivado da árvore :: Simples, pois há um número de métodos na árvore :: Simples que simplesmente não faria sentido na árvore :: Binário. Então, enquanto eu normalmente não aprovo a reutilização de código de corte e colar, foi o que fez mais sentido neste caso.Requirements: · Requisitos de Perl: · Perl.


Árvore :: Binário. Software Relacionado