Skip to main content

Implementation of a multidimensional binary search tree for associative searching

Project description

Build Quality Gate Status codecov

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


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)

Uploaded Source

Built Distribution

kdtree_python-0.2.2-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

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

Hashes for kdtree-python-0.2.2.tar.gz
Algorithm Hash digest
SHA256 dca85692b990bde28c2117c9a86349af463b21c9687832022d0781f937761652
MD5 2a1dd73198dbd322df551c07c4cd9d84
BLAKE2b-256 1a2182bb8fc0d5dfbd6bdf468610dbfb1d10f2ba28096995021cf1790bb80b52

See more details on using hashes here.

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

Hashes for kdtree_python-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a9d514d0afc4c53d451d50947738a71e5f5e6e88eb1d80e08af0069f5214910c
MD5 45f98d4ac5038ea8965bad208d83fc8e
BLAKE2b-256 009222a36d2b78cd57fc5e796dd89fef10ce08eb04ec51dbac20b925c83241bf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page