Boom: Binair

BOOM :: Binary is een objectgeoriënteerde binaire boom voor PERL.
Download nu

Boom: Binair Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Stevan Little
  • Uitgever website:
  • http://search.cpan.org/~stevan/

Boom: Binair Tags


Boom: Binair Beschrijving

Boom: Binary is een objectgeoriënteerde binaire boom voor Perl. Boom: Binair is een objectgeoriënteerde binaire boom voor Perl.Synopsis Gebruik Boom: Binair; # Een boomvertegenwoordiging van de uitdrukking: # ((2 + 2) * (4 + 5)) Mijn $ BTree = Tree :: Binary-> Nieuw ("*") -> Setleft (Boom :: Binary-> Nieuw ( "+") -> Setleft (Tree :: Binary-> Nieuw ("2")) -> SetRight (Tree :: Binary-> Nieuw ("2"))) -> SetRight (Tree :: Binary-> Nieuw ("+") -> Setlief (Boom :: Binary-> Nieuw ("4")) -> SetRight (Tree :: Binary-> Nieuw ("5"))); # Of visueel weergegeven: # + --- (*) --- + # | | # + - (+) - + + - (+) - + # | | | | # (2) (2) (4) (5) # Krijg een insteller bezoeker mijn $ bezoeker = boom :: binary :: bezoeker :: inorderTraversal-> Nieuw (); $ btree-> accepteren ($ bezoeker); # Print de uitdrukking in Infix Order Print $ Bezoeker-> getaccumulatie (); # Prints "2 + 2 * 4 + 5" # krijgen een preorder bezoeker mijn $ bezoeker = boom :: binair :: bezoeker :: preorderTraversal-> Nieuw (); $ btree-> accepteren ($ bezoeker); # Print de uitdrukking in prefix Order Print $ Bezoeker-> getaccumulatie (); # Prints "* + 22 + 45" # Krijg een postorder bezoeker mijn $ bezoeker = boom :: binary :: bezoeker :: postorderTraversal-> Nieuw (); $ btree-> accepteren ($ bezoeker); # Print de uitdrukking in postfix bestellen Print $ Bezoeker-> getaccumuulering (); # Prints "22 + 45 + *" # Krijg een breedte eerste bezoeker Mijn $ bezoeker = boom :: Binary :: bezoeker :: breedhfirsttraversal-> nieuw (); $ btree-> accepteren ($ bezoeker); # Print de uitdrukking in breedte eerste bestelling Print $ Bezoeker-> getaccumulatie (); # Prints "* + + 22 45" # Zorg ervoor dat u alle cirkelvormige referenties $ btree-> vernietigen (); deze module is een volledig object georiënteerde implementatie van een binaire boom. Binaire bomen zijn een gespecialiseerd type boom met slechts twee mogelijke vestigingen, een linker filiaal en een rechter tak. Hoewel het mogelijk is om een N-Ary-boom te gebruiken, zoals boom :: eenvoudig, om de meeste van uw binaire boombehoeften te vullen, is een echt binair boomobject gewoon gemakkelijker te mantain en te gebruiken. Bagere boomobjecten zijn vooral handig (voor mij hoe dan ook ) Bij het bouwen van bomen van dingen zoals wiskundige of booleaanse uitdrukkingen. Ze kunnen ook worden gebruikt in games voor dergelijke dingen als de bomen van de beslissingen. Binaire bomen zijn een goed bestudeerde gegevensstructuur en er is een schat aan informatie over het web over hen. Deze module maakt gebruik van uitzonderingen en een minimaal ontwerp per contractstijl. Alle methodeargumenten zijn vereist, tenzij gespecificeerd in de documentatie, indien een verplicht argument niet wordt gedefinieerd, wordt meestal een uitzondering gegooid. Veel argumenten zijn ook verplicht om van een specifiek type te zijn, bijvoorbeeld het $ BOOM-argument voor zowel de setleft als de setright-methoden, moet een boom :: binair object of een object afgeleid van boom :: binair, anders wordt een uitzondering gegooid. Dit lijkt misschien hard aan sommigen, maar hiermee kan ik het vertrouwen hebben dat mijn code werkt als ik, en voor jou om te genieten van hetzelfde niveau van vertrouwen bij het gebruik van deze module. Merk echter op dat deze module geen uitzondering of foutmodule gebruikt, de uitzonderingen zijn gewoon strings gegooid met Die. Dit object gebruikt een aantal methoden die zijn gekopieerd van een andere module van mij, boom :: eenvoudig. Gebruikers van die module vinden veel vergelijkbare methoden en gedragingen. Het is echter niet logisch voor boom :: Binair om te worden afgeleid van boom :: eenvoudig, want er zijn een aantal methoden in boom :: eenvoudig dat het gewoon niet logisch zou zijn in boom: binair. Hoewel ik normaal gesproken geen cut-and-plak code opnieuw goedkeuren, was het in dit geval het meest logisch. REQUIRINGEN: · PERL-vereisten: · Perl


Boom: Binair Gerelateerde software

DBIX :: DBSTAG

DBIX :: DBSTAG is een PERL-module voor relationele database naar hiërarchische (Stag / XML) -mapping. ...

145

Downloaden