py-fast-trie
py-fast-trie is a package that contains pure-Python implementations of an X-fast Trie and a Y-fast trie, as described in the foundational paper.
The most notable benefit of X-fast and Y-fast tries compared to more common data structures such as binary search trees is that searches are log-logarithmic in the cardinality of the universe as opposed to being logarithmic in the number of elements in the structure itself; For reference if you needed to store 2^20 items with a potential maximum value of 2^32 - 1, finding a particular item would take 20 operations in a red/black or AVL tree, but only 5 with an X-fast or Y-fast trie.
Usage
The interfaces of the X-fast and Y-fast tries are identical, the Y-fast trie is used here as an example.
>>> from py_fast_trie import YFastTrie
>>> t = YFastTrie(max_length=32) # The library defaults to the machine's word size
>>> for i in range(10, 13):
... t += i # Value insertion/removal operations have intuitive
>>> t.min # shorthands
10
>>> t += b'\x0d' # The library can handle byte strings less than the
>>> t.max # max length by treating them as integers
13
>>> for val in t:
... print val
10
11
12
13
>>> t < 12 # Predecessor/successor queries have intuitive
11 # shorthands
>>> t > 0
10
t -= 13
>>> t > 12
>>>
License
py-hopscotch-dict is released under version 3.0.0 of the Prosperity Public License
Metadata
Release files for py-fast-trie 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| py_fast_trie-2.2.0.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_fast_trie-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.3 kB
Release files / py_fast_trie-2.2.0.tar.gz
| Download URL | py_fast_trie-2.2.0.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69554c047072eb29e391e712e172aad1bbf5e63bce270524823317dbae0d6136
|
|
BLAKE2b-256 checksum How to use checksums |
a554f28c00c604cc4ed1ee17acb03a1ee4446d4d32fc6ab3d269282f0ee4ab67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / py_fast_trie-2.2.0-py3-none-any.whl
| Download URL | py_fast_trie-2.2.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eedaf1f7002c81e0e421251315905528a9af61461177e92d719719d34afaae41
|
|
BLAKE2b-256 checksum How to use checksums |
7bc560e632331493791d481623801453eb3494b11b0dca9dc0309be3468116e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|