Skip to content

Pure C character trie implementation, wrapped into python extension

Notifications You must be signed in to change notification settings

buriy/python-chartrie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=============
CharTrie
=============

This is pure-C version of Trie data structure: http://en.wikipedia.org/wiki/Trie , 
also called "prefix tree", optimized for string keys and int values.

The current interface is the following::

    class CharTrie:
        def __len__(self)
        def __getitem__(self, key)
        def __setitem__(self, key, value)
        def dumps(self)
        def debug_print(self)
        def find(self, key)

    class FrozenCharTrie:
        def __len__(self)
        def __getitem__(self, key)
        def loads(self, stream)
        def debug_print(self)
        def find(self, key) # -> value or None
        def find_prefixes(trie, key) # -> [(position1, value1), (position2, value2), ...]
        def find_splits(self, FrozenCharTrie suffixes, key) # -> [(position1, prefix1, suffix1), (position2, prefix2, suffix2), ...]

Please note, that len(x) returns the number of chars in the trie, not the number of nodes with values.
Also, only values >= 0 are supported (until version 0.2)


------------
Licence: BSD
------------

About

Pure C character trie implementation, wrapped into python extension

Resources

Stars

Watchers

Forks

Packages

No packages published