Skip to content

K-d Tree

A k-d tree organizes multidimensional records by recursive binary splits on coordinate keys, enabling bounded-region search and pruning.

Version
v1 · 2026-10-03 · History
Domain-specific #
13357
Domain group
Applied Sciences & Engineering
Origin domain
Computer Science & Software Engineering
Subdomains
Associative Retrieval, Spatial Data Structures → Computer Science & Software Engineering
Aliases
Kd Tree, Multidimensional Binary Search Tree

Core Idea

A k-d tree stores records with k coordinate keys in a binary tree. Each node compares one selected coordinate; lower and higher branches recursively restrict where descendants may lie. Those region bounds permit safe pruning when a query cannot intersect a subtree. Bentley's original definition cycles discriminators by level. Median splitting balances the tree but is an optimization, not the definition.[^ref-6aa9c8fa25bb]

Scope of Application

Bentley proposed exact, partial, region and nearest-neighbor retrieval for multiattribute files. His city example asks for locations inside the Oklahoma Panhandle rectangle of 36°30′–37° latitude and 100°–103° west longitude; subtrees with disjoint bounds can be skipped. He also proposed nearest-city and speech-template uses, not documented deployments. His median OPTIMIZE routine rebuilds in O(n log n), whereas dynamic updates can unbalance a tree.[^ref-6aa9c8fa25bb]

Clarity

In Bentley's two-dimensional Figure 1, a root x comparison followed by a y comparison gives rectangular bounds for descendants. A subtree confined to x=50–100 cannot contain points in a query whose x maximum is 40. Nearest-neighbor search is subtler: the other side of a split may still hold a closer point and can be skipped only with a distance lower bound.[^ref-6aa9c8fa25bb]

Manages Complexity

One structure supports several query kinds without a full scan when bounds prune effectively. It also incurs construction and maintenance costs, and broad output regions or high dimension can leave many branches plausible. Bentley reported empirical average logarithmic nearest-neighbor behavior for an early method, not a universal worst-case guarantee; partial-match bounds can be polynomial even in ideal trees.[^ref-6aa9c8fa25bb]

Abstract Reasoning

Ancestor discriminator comparisons intersect into a descendant hyperrectangle. If that box is disjoint from the query region, no descendant can qualify. Median selection makes approximately equal child sizes; O(n) work per level over O(log n) levels yields O(n log n) build work. Query cost still depends on how many boxes intersect the target and how many results must be returned.[^ref-6aa9c8fa25bb]

Knowledge Transfer

City coordinates, speech features and other comparable multikey records can use the same binary-bound invariant; their workloads need not yield the same performance. Live Tree Data Structure is the strict parent. The live Partition captures a related division, while live Index is an auxiliary pointer table not required by Bentley's record-at-node structure. Neither prime is a forced strict parent.

[^ref-6aa9c8fa25bb]: Bentley, original k-d-tree paper, Communications of the ACM 18 (1975), pp. 509–517.

Relationships to Other Abstractions

Local relationship map for K-d TreeParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.K-d TreeDOMAINDomain-specific abstraction: Tree (Data Structure) — is a kind ofTree (DataStructure)DOMAIN

Current abstraction K-d Tree Domain-specific

Parents (1) — more general patterns this builds on

  • K-d Tree is a kind of Tree (Data Structure) Domain-specific

    A k-d tree is a tree data structure whose nodes recursively split records by coordinate discriminators.

Neighborhood in Abstraction Space

K-d Tree sits in a sparse region of the domain-specific corpus (68th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Storage & Lookup Data Structures (21 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-08