Boom :: DAG_NODE

BOOM :: DAG_NODE is een PERL (Super) -klasse voor het vertegenwoordigen van knooppunten in een boom.
Download nu

Boom :: DAG_NODE Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Sean M. Burke and David Hand
  • Uitgever website:
  • http://search.cpan.org/~cogent/

Boom :: DAG_NODE Tags


Boom :: DAG_NODE Beschrijving

Boom: Dag_node is een Perl (Super) -klasse voor het vertegenwoordigen van knooppunten in een boom. Boom :: Dag_Node is een Perl (Super) -klasse voor het representeren van knooppunten in een boom. Synopsisusing als basisklasse: pakketspel :: Boom :: Knooppunt; # of wat je ook doet, gebruik boom :: DAG_NODE; @Isa = QW (Tree :: DAG_NODE); ... Uw eigen methoden overschrijven / uitbreiden van de methoden in Boom :: DAG_NODE ... gebruikt als een eigen klasse: gebruik boom :: DAG_NODE; mijn $ wortel = boom :: DAG_NODE-> NIEUW (); $ root-> naam ("Ik ben de tops"); mijn $ new_daughter = $ root-> new_daughter; $ new_day-> naam ("meer"); ... deze klasse inkapselt / maakt / manipuleert objecten die knooppunten in een boomstructuur vertegenwoordigen. De boomstructuur is geen object zelf, maar is opkomt uit de koppelingen die u tussen knooppunten maakt. Deze klasse biedt de methoden voor het maken van verbindingen die kunnen worden gebruikt om een boom op te bouwen, terwijl u voorkomt dat u steeds geen enkele soorten koppelingen maakt die niet in een boom zijn toegestaan (zoals het hebben van een knooppunt of een eigen moeder of voorouder Een knooppunt heeft twee moeders). Dit is wat ik bedoel met een "boomstructuur", een beetje ontslagen: · Een boom is een speciaal geval van een acyclische gerichte grafiek. · Een boom is een netwerk van knooppunten waar er precies één wortel is Knooppunt (dwz 'de top'), en de enige primaire relatie tussen knooppunten is de moeder-daugher-relatie. · Geen knooppunt kan zijn eigen moeder zijn, of de moeder van zijn moeder, enz. · Elk knooppunt in de boom heeft precies één " Ouder "(knooppunt in de" omhoog "richting) - behalve de wortel, die ouderloos is. · Elk knooppunt kan een cijfer hebben (0 tot elk eindig aantal) dochterknopen. De dochterknooppunten van een bepaalde knooppunt vormen een bestelde lijst. (U bent echter vrij om deze bestellingen irrelevant te beschouwen. Sommige applicaties hebben dochters nodig die moeten worden besteld, dus ik koos ervoor om dit de algemene zaak te overwegen.) · Een knooppunt kan in slechts één boom verschijnen, en slechts eenmaal in die boom. Met name (opmerkelijk omdat het niet volgt van de twee bovenstaande punten), kan een knooppunt niet twee keer verschijnen in de dochterlijst van zijn moeder. · Met andere woorden, er is een idee van up (naar de root) versus naar beneden (weg van de wortel) , en links (dwz naar de start (index 0) van de dochterlijst van een bepaalde knooppunt) versus rechts (tegen het einde van de dochterlijst van een gegeven knooppunt). Testrees zoals hierboven beschreven hebben verschillende toepassingen, waaronder een syntactische kiesdistrict, in formele taalkunde; het vertegenwoordigen van onvoorziene, in een gameboom; Het vertegenwoordigen van abstracte syntaxis in het parseren van elke computer-taal - of het nu in expressiebomen voor programmeertalen of kiesdistrict in het oogpunt van een markup-taaldocument is. (Sommige hiervan kunnen niet gebruiken het feit dat dochters worden besteld.) (Opmerking: B-bomen zijn een heel bijzonder geval van de bovengenoemde soorten bomen, en worden het best behandeld met hun eigen klasse. Controleer CPAN voor modules inkapselende B-bomen ; of als u eigenlijk een database wilt, en om een of andere reden beloofde hier, kijk dan naar AnyBM_File.) Veel basisklassen zijn niet bruikbaar behalve als zodanig - maar Boom :: DAG_NODE kan worden gebruikt als een normale klasse. Je kunt doorgaan en zeggen: gebruik boom :: DAG_NODE; mijn $ wortel = boom :: DAG_NODE-> NIEUW (); $ root-> naam ("Ik ben de tops"); $ new_dochter = boom :: DAG_NODE-> NIEUW (); $ new_day-> naam ("meer"); $ root-> add_daught ($ new_daughter); enzovoort, bouwen en koppelen van objecten van boom :: DAG_NODE en het maken van nuttige boomstructuren uit hen. Vereisten: · Perl


Boom :: DAG_NODE Gerelateerde software