efiop / pygtrie

Python library implementing a trie data structure.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pygtrie

Documentation build status (latest) Documentation build status (stable) Continuous integration status

pygtrie is a pure Python implementation of a trie data structure compatible with Python 2.x and Python 3.x.

Trie data structure, also known as radix or prefix tree, is a tree associating keys to values where all the descendants of a node have a common prefix (associated with that node).

The trie module contains Trie, CharTrie and StringTrie classes each implementing a mutable mapping interface, i.e. dict interface. As such, in most circumstances, Trie could be used as a drop-in replacement for a dict, but the prefix nature of the data structure is trie’s real strength.

The module also contains PrefixSet class which uses a trie to store a set of prefixes such that a key is contained in the set if it or its prefix is stored in the set.

Features

  • A full mutable mapping implementation.
  • Supports iterating over as well as deleting a subtrie.
  • Supports prefix checking as well as shortest and longest prefix look-up.
  • Extensible for any kind of user-defined keys.
  • A PrefixSet supports “all keys starting with given prefix” logic.
  • Can store any value including None.

Installation

To install pygtrie, simply run:

pip install pygtrie

or by adding line such as:

pygtrie == 2.*

to project’s requirements file. Alternatively, if installation from source is desired, it can be achieved by executing:

python setup.py install

About

Python library implementing a trie data structure.

License:Apache License 2.0


Languages

Language:Python 99.5%Language:Makefile 0.5%