Anonymous user
K-d tree: Difference between revisions
use __slots__ for KdTree
(pass tuple to namedtuple) |
(use __slots__ for KdTree) |
||
Line 995:
class KdTree(object):
__slots__ = ("n", "bounds")
def __init__(self, pts, bounds_):▼
def nk2(split, exset):
if not exset:
Line 1,002 ⟶ 1,004:
m = len(exset) // 2
d = exset[m]
while m + 1 < len(exset) and exset[m + 1][split] == d[split]:
m += 1
s2 = (split + 1) % len(d) # cycle coordinates
return KdNode(d, split, nk2(s2, exset[:m]),
self.n = nk2(0, pts)
self.bounds =
T3 = namedtuple("T3", ("nearest", "dist_sqd", "nodes_visited"))
|