Tree::Trie

Tree::Trie is a Perl module with data structure optimized for prefix lookup.
Download

Tree::Trie Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Avi Finkel
  • Publisher web site:
  • http://search.cpan.org/~avif/

Tree::Trie Tags


Tree::Trie Description

Tree::Trie is a Perl module with data structure optimized for prefix lookup. Tree::Trie is a Perl module with data structure optimized for prefix lookup.SYNOPSIS use Tree::Trie; use strict; my($trie) = new Tree::Trie; $trie->add(qw); my(@all) = $trie->lookup(""); my(@ms) = $trie->lookup("m"); $" = "--"; print "All muses: @allnMuses beginning with 'm': @msn"; my(@deleted) = $trie->remove(qw); print "Deleted muses: @deletedn";This module implements a trie data structure. The term "trie" comes from the word retrieval, but is generally pronounced like "try". A trie is a tree structure (or directed acyclic graph), the nodes of which represent letters in a word. For example, the final lookup for the word 'bob' would look something like $ref->{'b'}{'o'}{'b'}{'00'} (the 00 being an end marker). Only nodes which would represent words in the trie exist, making the structure slightly smaller than a hash of the same data set.The advantages of the trie over other data storage methods is that lookup times are O(1) WRT the size of the index. For sparse data sets, it is probably not as efficient as performing a binary search on a sorted list, and for small files, it has a lot of overhead. The main advantage (at least from my perspective) is that it provides a relatively cheap method for finding a list of words in a large, dense data set which begin with a certain string.The term "word" in this documentation can refer to one of two things: either a reference to an array of strings, or a scalar which is not a reference. In the case of the former, each element of the array is treated as a "letter" of the "word". In the case of the latter, the scalar is evaluated in string context and it is split into its component letters. Return values of methods match the values of what is passed in -- that is, if you call lookup() with an array reference, the return value will be an array reference (if appropriate).NOTE: The return semantics of the lookup_data method have CHANGED from version 1.0 to version 1.1. If you use this method, be sure to see the perldoc on that method for details. Requirements: · Perl


Tree::Trie Related Software