A Generalized Suffix Tree for any iterable, with Lowest Common Ancestor retrieval
Project description
A Generalized Suffix Tree for any Python iterable, with Lowest Common Ancestor retrieval.
pip install suffix-tree
from suffix_tree import Tree
>>> tree = Tree ({ 'A' : 'xabxac' })
>>> tree.find ('abx')
True
>>> tree.find ('abc')
False
This suffix tree:
works with any Python iterable, not just strings, if the items are hashable,
is a generalized suffix tree for sets of iterables,
uses Ukkonen’s algorithm to build the tree in linear time,
does constant-time Lowest Common Ancestor retrieval,
outputs the tree as GraphViz .dot file.
Three different builders have been implemented:
one that follows Ukkonen’s original paper ([Ukkonen1995]),
one that follows Gusfield’s variant ([Gusfield1997]),
and one simple naive algorithm.
PyPi: https://pypi.org/project/suffix-tree/
Ukkonen, Esko. On-line construction of suffix trees. 1995. Algorithmica 14:249-60. http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf
Gusfield, Dan. Algorithms on strings, trees, and sequences. 1997. Cambridge University Press.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for suffix_tree-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8911e6fdf611ffe23ebc1dfd66d61378b16b2167b05695af85ea91b2984e15fc |
|
MD5 | 86d0f30441d39691a89275313b5175e8 |
|
BLAKE2b-256 | 08a32220baccb9ca9de016c174c8981bcbf9fcc328ddb2b07ee5218fe654df7d |