| Baum :: BPTree. Baum :: BPTree ist eine Perl-Implementierung von B + Bäumen. |
Jetzt downloaden |
Baum :: BPTree. Ranking & Zusammenfassung
- Lizenz:
- Perl Artistic License
- Name des Herausgebers:
- Andrew Sterling Hanenkamp
- Website des Verlags:
- http://search.cpan.org/~hanenkamp/
Baum :: BPTree. Stichworte
Baum :: BPTree. Beschreibung
Baum :: BPTree ist eine Perl-Implementierung von B + Bäumen. Baum :: BPTree ist eine Perl-Implementierung von B + Bäumen.Synopsis Verwenden Sie Baum :: BPTree; # Diese Argumente sind eigentlich die Standardeinstellungen mein $ Tree = neuer Baum :: BPTree (-n => 3, -unique => 0, -keycmp => sub {$ _ cmp $ _ }, -valuecmp => sub {$ _ $ _ },); # Indexieren Sie die Einträge in dieser Zeichenfolge: meine $ string = "Es gibt mehr als einen Weg, um es zu tun"; # Tmtowtdi mein $ i = 0; $ tree-> einfügen ($ _, $ i ++) foreach (split //, $ string); # Finden Sie den Index des ersten 't' my $ t = $ Tree-> Find ('t'); # Finden Sie die Indizes von jedem 't' my @t = $ Tree-> Fund ('t'); # Wir mögen das Wort 'way' nicht, also lass es meine $ i $ i = Index $ Saite entfernen, 'w'; $ Tree-> Löschen ($ _, $ i ++) foreach (Split //, Substr ($ Saite, $ I, 4)); # Die Sortierreihenfolge rückgängig machen $ baum-> rückwärts; # IMERATE über jedes Schlüssel- / Wert-Paar, genau wie eingebauter jeder Bediener, während (My ($-Key, $ Value) = $ Tree-> jeweils) {drucken "$ key => $ valuen"; } # Setzen Sie den Iterator zurück, wenn wir von einem "jeweiligen" frühen TABE-> Reset aufgeben. # Sie könnten auch interessiert sein, dass mehrere Schleifen gleichzeitig verwendet werden, was mit der Cursorsyntax # möglich ist. Sie können sogar einzelne Paare # aus der Liste während der Iteration löschen. mein $ cursor = $ tree-> new_cursor; während (mein ($-key, $ value) = $ cursor-> jeweils) {mein $ verschachtelte = $ baum-> new_cursor; während (mein ($ nkey, $ nvalue) = $ verschachtelt -> jeweils) {if ($ key-> sollnt_be_in_this_tree_with ($ nkey)) {$ verschachtelt -> löschen; }}} # Iteratieren mit einem iterator-subroutine $ tree-> itererieren (sub {drucken "$ _ => $ _ n"}); # Itererieren Sie mit einer Iterator-Unterroutine, die die Liste der zurückgegebenen Return-Werte # zurückgibt, die vom Iterator-Druck zurückgegeben wurde (',', $ Tree-> Karte (sub {"$ _ => $ _ "})) ,"n"; # Grep-like Operationen My @Pairs = $ Tree-> Grep (sub {$ _ = ~ ~ / s /}); mein @keys = $ tree-> grep_keys (sub {$ _ = ~ ~ s /}); meine @Values = $ tree-> grep_values (sub {$ _ = ~ / s /}); # Alle Tasten erhalten, Werte my @all_keys = $ Tree-> Schlüssel; meine @all_values = $ tree-> Werte; # Löschen Sie es aus und starten Sie über $ Tree-> Klar; B + Bäume sind ausgewogene Bäume, die eine bestellte Karte von den Tasten zu Werten bereitstellen. Sie sind nützlich, um große Datenkörper zu indexieren. Sie ähneln 2-3-4 Bäumen und rotschwarzen Bäumen. Diese Implementierung unterstützt B + -Bäume mit einem willkürlichen N-Wert.Virez-Anforderungen: · Perl · Perl.
Baum :: BPTree. Zugehörige Software