The TernaryTrees package
Ternary trees are an efficient structure often used for storing strings for fast lookups. This package implements a generic tree for storing lists of Ord instances, and a specialised String implementation which is about 30% faster than the generic version.
An example program is provided what shows how to use the package as a dictionary program for spell checking, and how it can be used to serialise data with Don Stewart's Data.Binary package.
From my testing, using the /usr/share/dict/words file on my system (over 230,000 words), inserting all words, checking they all exist in the tree, writing them to a binary file, reading them back in and checking the read in result is the same as the original takes slightly over 3 seconds using the StringSet. The written file is also slightly smaller than the input (by over 40% in some cases).
New in this version:
First major interface change since the first release... (less than 24 hours ago).
Changed many function names to match those in Data.[Map,Set] to provide a more familiar interface.
Added a Functor instance for TernaryMap.
Added empty and null functions to all types, and elems to TernaryMap.
© 2009 by Alex Mason (http://axman6.homeip.net/blog/). BSD3 license.
Properties
| Versions | 0.0.1, 0.0.2, 0.0.2.1, 0.0.2.2, 0.0.3.0, 0.0.4.0, 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.2.0, 0.1.3.0, 0.1.3.1, 0.1.3.2, 0.1.3.3, 0.1.3.4, 0.2.0.0, 0.2.0.2 |
|---|---|
| Dependencies | base (≥4.0.0.0 & <5.0.0.0), binary (≥0.5.0.0) |
| License | BSD3 |
| Author | Alex Mason |
| Maintainer | Alex Mason (irc: Axman6) <axman6@gmail.com> |
| Category | Data Structures |
| Executables | tdict |
| Upload date | Sun Jun 28 17:03:50 UTC 2009 |
| Uploaded by | AlexMason |
| Built on | ghc-6.10, ghc-6.12 |
Modules
Downloads
- TernaryTrees-0.1.0.0.tar.gz (Cabal source package)
- package description (included in the package)