当前位置: 首页 > news >正文

KD-Tree

简介

KD-Tree 用来组织表示K维空间点集合。这是一种带有约束条件的二分查找树,KD树对于邻域搜索十分有用。KD-Tree 在除了叶子结点外,每一维分裂都是在某一个维度进行分裂。

Screenshot 2025-09-09 at 10.15.36 PM

 

 

建树算法流程

KD-Node

  • value
  • split,分裂维度编号
  • left,KD-Node left
  • right,KD-Node right

ff

 

流程:

  1. 确定split分割维度。计算该数据集在每个分割维度的方差,挑选最大的,表示分割的比较好
  2. 确定Node-Data,该维度的值进行排序,选择中位数。
  3. 确定左、右子空间。左子空间 <= node.value, 右子空间 > node.value

 

查找算法:

流程:

  1. 从root出发,DFS搜索直到叶子节点,同时在stack中存储顺序访问的节点
  2. 如果搜索到叶子结点,则设为最邻进
  3. 然后通过stack回溯,如果当前点的距离比邻近点近,则更新最邻近点,然后检查最近的点到目标点的距离为圆是否和父结点的面相交,如果相交则搜索父节点的另一侧。如果不相交则继续回溯。
  4. 直到root

 

参考

https://blog.csdn.net/qq_33287871/article/details/107332728/

https://baike.baidu.com/item/kd-tree/2302515

http://www.zskr.cn/news/1252.html

相关文章:

  • yyjj
  • Laravel PHP 忘记密码如何重置(创建新管理员账号)
  • 第一章 逻辑代数基础 - Wisdom
  • golang netpoll 底层原理
  • MATLAB R2025a安装教程和资源(中文版)
  • Xmanager Power Suite使用教程 - Invinc
  • Ubuntu 安装微信
  • 主存储器和cpu的链接
  • 滑动窗口(不与单调队列结合的总结)
  • 9.9未完成
  • 202205_宁波市赛_Cr4ck2
  • 20250909 GOJ 模拟赛
  • 自我介绍
  • MQ
  • 自我介绍+软工五问
  • 三数之和-leetcode
  • 相似了
  • 最新可用Docker镜像加速站点
  • 第一周作业
  • 来此加密实现SSL证书自动申请+自动部署
  • 2025.9.9——1橙
  • 学习
  • TRVCOST - Travelling cost 题解
  • 原型设计实用干货!3款热门AI生成原型图软件横向测评
  • 错误报警:“该 CPU 或当前的库版本不支持数据类型”
  • Charles实战秘籍:弱网模拟、Map Local/Remote、HTTPS抓包详解
  • 9月23日周二《AI+企业IP获客联盟峰会》,相约东莞厚街富盈酒店
  • 第一次作业 自我介绍+软工5问
  • 深度学习调参新思路:Hyperband早停机制提升搜索效率
  • Nginx 基础