k-d树

✍ dations ◷ 2025-07-26 16:01:00 #数据结构,树结构

在计算机科学里,-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树的最邻近搜索才可以很好的发挥其作用。不然的话,大部分的点都会被查询,最终算法效率也不会比全体查询一遍要好到哪里去。另外,如果只是需要一个足够快,且不必最优的结果,那么可以考虑使用近似邻近查询的方法。

相关

  • 圣捷尔吉阿尔伯特·纳扎波尔蒂·圣捷尔吉(匈牙利语:Nagyrápolti Szent-Györgyi Albert;1893年9月16日-1986年10月22日),匈牙利生理学家。他因“与生物燃烧过程有关的发现,特别是关于维生
  • 固态硬盘固态硬盘或固态驱动器(英语:Solid-state drive或Solid-state disk,简称SSD)是一种主要以闪存(NAND Flash)作为永久性存储器的电脑存储设备。固态硬盘采用SATA、PCI Express、M.2
  • 南极海南冰洋(英语:Southern Ocean或Antarctic Ocean),亦称南极海或南大洋,是围绕南极洲的海洋,也是太平洋、大西洋和印度洋南部的海域,大致在南纬60度线以南。以前人们一直认为太平洋、
  • 克雷门蒂穆齐奥·克莱门蒂(意大利语:Muzio Clementi,1752年1月23日-1832年3月10日),意大利作曲家,钢琴家,指挥家,钢琴乐器的开发者,钢琴制造家,音乐出版商,钢琴教师。自幼从布诺尼学习钢琴、从柯
  • 萨尔语群萨尔语群,是藏缅语族的一个支系,由Burling在1983年提出。这个支系在词汇方面有一些共同创新,例如太阳一词说“萨尔”(sal)。Van Driem(2001)称这个支系为布拉马普特拉语族。又称巴
  • 李文仪李文仪(1978年9月30日-),台湾新闻主播、主持人、制作人,毕业于英国伦敦大学学院国际公共政策硕士。曾服务于中国时报、年代新闻台、TVBS新闻台。2017年6月1日成为三立iNEWS台《iN
  • 核化学核化学(英语:Nuclear chemistry,又称为核子化学)是研究原子核(稳定性和放射性)的反应、性质、结构、分离、鉴定等的一门学科。例如,研究不同的次原子粒子怎样共同形成一个原子核以
  • 威廉·布劳威廉·扬松·布劳(荷兰语:Willem Janszoon Blaeu,1571年-1638年),文艺复兴时期欧洲荷兰地理学家与出版家。曾随丹麦天文学家第谷从事研究工作。他制有地球仪和地图册,并于1605年出
  • 中华根瘤菌属见内文中华根瘤菌属或剑菌属(学名:)是根瘤菌目根瘤菌科下的一属。该属中草木樨中华根瘤菌()与苜蓿中华根瘤菌()进行过测序。该属曾先后于1982年与1988年被命名为剑菌属()与中华根瘤菌
  • 米科拉斯·马尔蒂诺维奇·布罗基亚维丘斯米科拉斯·马尔蒂诺维奇·布罗基亚维丘斯(俄语:Ми́колас Ма́ртинович Бурокя́вичюс (Бурокявичус),立陶宛语:Mykolas Burokevičius