k-d树

✍ dations ◷ 2025-11-19 18:01:45 #数据结构,树结构

在计算机科学里,-d树( k-维树的缩写)是在维欧几里德空间组织点的数据结构。-d树可以使用在多种应用场合,如多维键值搜索(例:范围搜寻及最邻近搜索)。-d树是空间二分树(Binary space partitioning)的一种特殊情况。

-d树是每个叶子节点都为k维点的二叉树。所有非叶子节点可以视作用一个超平面把空间分割成两个半空间。节点左边的子树代表在超平面左边的点,节点右边的子树代表在超平面右边的点。选择超平面的方法如下:每个节点都与k维中垂直于超平面的那一维有关。因此,如果选择按照x轴划分,所有x值小于指定值的节点都会出现在左子树,所有x值大于指定值的节点都会出现在右子树。这样,超平面可以用该x值来确定,其法线为x轴的单位向量。

有很多种方法可以选择轴垂直分割面( axis-aligned splitting planes ),所以有很多种创建-d树的方法。最典型的方法如下:

这个方法产生一个平衡的-d树。每个叶节点的高度都十分接近。然而,平衡的树不一定对每个应用都是最佳的。

function kdtree ( pointList,  depth){        var  axis := depth mod k;                select median by axis from pointList;                var  node;    node.location := median;    node.leftChild := kdtree(points in pointList before median, depth+1);    node.rightChild := kdtree(points in pointList after median, depth+1);    return node;}

插入元素

移除元素

平衡

在动态插入删除点且不允许预处理插入操作的情况下,一种平衡的方法是使用类似替罪羊树的方法重构整棵树。

最邻近搜索用来找出在树中与输入点最接近的点。

k-d树最邻近搜索的过程如下:


维数灾难让大部分的搜索算法在高纬情况下都显得花哨且不实用。 同样的,在高维空间中,k-d树也不能做很高效的最邻近搜索。一般的准则是:在k维情况下,数据点数目N应当远远大于 2 k {\displaystyle 2^{k}} 时,k-d树的最邻近搜索才可以很好的发挥其作用。不然的话,大部分的点都会被查询,最终算法效率也不会比全体查询一遍要好到哪里去。另外,如果只是需要一个足够快,且不必最优的结果,那么可以考虑使用近似邻近查询的方法。

相关

  • 化学年表化学年表列出了深远地改变人们对化学这门现代科学认识的重要著作、发现、思想、发明以及实验等。化学作为一门对物质组成和相互作用进行研究的自然科学,虽然其根源可以追溯到
  • 炭疽乐团炭疽乐团(英语:Anthrax)是美国的鞭击金属乐团,1981年由节奏吉他手史考特·伊恩(英语:Scott Ian)与贝斯手丹·利尔克(英语:Dan Lilker)成立于纽约市。炭疽是鞭击金属的领导乐团之一,他们
  • 1179年重要事件及趋势重要人物
  • 构型翻转瓦尔登翻转,即化学反应中,分子在手性中心发生的构型转换。这一现象最早是由德国化学家保罗·瓦尔登(Paul Walden)在1896年发现的。他发现,用五氯化磷在醚中处理(−)-苹果酸(4),可得(
  • 萤火虫算法萤火虫算法(Firefly Algorithm)是一种启发式算法,灵感来自于萤火虫闪烁的行为。萤火虫的闪光,其主要目的是作为一个信号系统,以吸引其他的萤火虫。剑桥大学的Xin-She Yang(音译:杨
  • 谢秋收谢秋收(越南语:Tạ Thu Thâu,1906年5月5日-1945年9月),越南共产主义者、托洛茨基主义者。他是越南托派的领导人。谢秋收出生在龙川省安富总新平村(今属同塔省垃圩县垃圩市镇),家中贫
  • 华兴镇中营镇可以指:
  • 宇宙微波背景图宇宙微波背景图是人类使用地面的或卫星的仪器绘制的全天的或局部的宇宙微波背景辐射的图。自从1964年宇宙微波背景被发现后,地面上的微波仪器很长时间中无法发现这个背景辐射
  • 白柳诚一白柳诚一(日语:白柳誠一;1928年6月17日-2009年12月30日)是天主教日本籍司铎级枢机及东京总教区荣休总主教。白柳诚一于1928年6月17日在日本东京都八王子市出生。他于1954年12月21
  • 超级用户在计算中,超级用户(英语:Superuser)也被称为管理员帐户,是计算机操作系统领域中的一种用于进行系统管理的特殊用户,其在系统中的实际名称也因系统而异,如root、administrator与supe