A flexible implementation of the skiplist data structure
This implementation of skiplist unlocks the full potential of the data structure by also allowing for both sorted and non-sorted skiplists and also enabling O(logn) search by cumulative sums.
In short, it can serve as the standard sorted key-value store (as do other implementations), but it can also allow you to keep a non-sorted list which gives you O(logn) calculation of sums from beginning to k-th element.
Or, as was the use case the author needed but did not find, both at the same time - a sorted list with search into it also by cumulative sums.
The code is written in pure Python 3 without external dependencies and is moderately optimized.
Metadata
Release files for flexible-skiplist 0.1.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 | |
|---|---|---|---|
| flexible-skiplist-0.1.0.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flexible_skiplist-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / flexible-skiplist-0.1.0.tar.gz
| Download URL | flexible-skiplist-0.1.0.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dbeedcb862d43ad5a33f812a4acc017ddfaf2c6dce187aea6b98a5fd76e5f824
|
|
BLAKE2b-256 checksum How to use checksums |
219d8356ae0ed5a51518e90633c44f0414a10e0211cdef0f693ac7b9f5cea502
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5
|
Release files / flexible_skiplist-0.1.0-py3-none-any.whl
| Download URL | flexible_skiplist-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
691f962ab7926a1029aea408338a92ca26e756d0e79f4e3802b3b3ffccf9476b
|
|
BLAKE2b-256 checksum How to use checksums |
26bb21ee75fbf9083f3e40ef64389b30b63ec175cb8ecf93709fd8c55e120629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5
|