K-d tree: Difference between revisions
Content deleted Content added
→{{header|jq}}: simplify |
|||
Line 3,487:
# Input: a KdTree
def nearest($p):
# Input: a KdTree
def nn_(
if
else
| .domElt
| .left
|
| ($
| { nodesVisited: 1,
leftHr: $hr,
rightHr: $hr }
| .leftHr.max[$s] = $pivot[$s]
| .rightHr.min[$s] = $pivot[$s]
| (if $
| (if $targetInLeft then .leftHr else .rightHr end) as $nearerHr
| (if $targetInLeft then $
| (if $targetInLeft then .rightHr else .leftHr end) as $furtherHr
|
| .nearest = $res.nearest
| .distSqd = $res.distSqd
Line 3,516 ⟶ 3,518:
else .
end
|
| .nodesVisited += $temp.nodesVisited
| if $temp.distSqd < .distSqd
Line 3,527 ⟶ 3,529:
end ;
def
| "\(heading):",
"Point : \($p)",
"Nearest neighbor : \(
"Distance : \(
"Nodes visited : \(
"";
▲ KdTree($points; .hr) as $kd
### Examples
|