Implementation of a multidimensional binary search tree for associative searching
Project description
KDTree
Implementation of a multidimensional binary search tree for associative searching
References
Jon Louis Bentley. Multidimensional binary search tree used for associative searching. September 1975.
Usage
from kdtree import BinSearchTree, Bound, Node, Region
# Create a new tree
tree = BinSearchTree(dimension=2)
# Insert some nodes into the tree
tree.insert(Node((50, 50)))
tree.insert(Node((10, 70)))
tree.insert(Node((80, 85)))
tree.insert(Node((25, 20)))
tree.insert(Node((40, 85)))
tree.insert(Node((70, 85)))
tree.insert(Node((10, 60)))
# Create rectangle from a bound array as described in the article
# Element 2*j is lower bound and element (2*j)+1 is upper bound of dimension j
rectangle_1 = Region.from_bounds_array(69, 71, 84, 86)
# Create rectangles as a list of Bound object
rectangle_2 = Region(Bound(69, 71), Bound(84, 86))
# Search
nodes = tree.regional_search(rectangle_1)
print("Nodes within region:", nodes)
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
kdtree-python-0.2.2.tar.gz
(4.1 kB
view details)
Built Distribution
File details
Details for the file kdtree-python-0.2.2.tar.gz
.
File metadata
- Download URL: kdtree-python-0.2.2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca85692b990bde28c2117c9a86349af463b21c9687832022d0781f937761652 |
|
MD5 | 2a1dd73198dbd322df551c07c4cd9d84 |
|
BLAKE2b-256 | 1a2182bb8fc0d5dfbd6bdf468610dbfb1d10f2ba28096995021cf1790bb80b52 |
File details
Details for the file kdtree_python-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: kdtree_python-0.2.2-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9d514d0afc4c53d451d50947738a71e5f5e6e88eb1d80e08af0069f5214910c |
|
MD5 | 45f98d4ac5038ea8965bad208d83fc8e |
|
BLAKE2b-256 | 009222a36d2b78cd57fc5e796dd89fef10ce08eb04ec51dbac20b925c83241bf |