k-d树

✍ dations ◷ 2025-12-06 11:44:01 #数据结构,树结构

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

相关

  • 精油精油(essential oil)是一种芳香物质,一般是从植物中萃取出来的芳香分子,为香水、调味料、化妆品等工业的重要产品,以及芳香疗法(aromatherapy)的主要原料。精油通常使用水蒸气蒸馏
  • 高知特高知特(英语:Cognizant Technology Solutions Corp),是一家管理咨询、信息技术及业务流程外包服务供应商。总部位于新泽西州的提内克。是纳斯达克100指数和标准普尔500指数的成
  • 威廉·道格拉斯威廉·奥维尔·道格拉斯(英语:William Orville Douglas,1898年10月16日-1980年1月19日),曾担任美国最高法院大法官一职长达36年又209天(1939年4月17日—1975年11月12日)。截止2019年
  • 路德维克·弗莱克路德维克·弗莱克(波兰语:Ludwik Fleck,德语:Ludwig Fleck,1896年7月11日-1961年6月5日),是一位生于奥匈帝国伦贝格的波兰裔微生物学家、免疫学家及知识论学者。他以德文出版于1935
  • 杰雷米·布朗杰雷米·布朗(Jeremy Browne,1970年5月17日-)是一位英格兰政治人物,他的党籍是自由民主党。在2005年至2015年,他担任汤顿迪恩选区选出的英国下议院议员。他曾经担任英国内政部大臣
  • 于尔根·佐普于尔根·佐普(爱沙尼亚语:Jürgen Zopp,1988年3月29日-),爱沙尼亚男子职业网球运动员。
  • 凯卡瓦自治市凯卡瓦自治市(拉脱维亚语:Ķekavas novads),是拉脱维亚的一个自治市,设立于2009年,位于该国中部。人口22788人,面积273平方公里,人口密度约83人/km2。
  • 蜂窝站蜂窝站(英语:Cell site),也称蜂窝设置点、行动通信基站、无绳电话讯号发射站、蜂窝站、蜂窝点、蜂窝塔(cell tower)(尽管很多蜂窝站天线不装在塔上)或移动电话杆(mobile phone mast)(英
  • 北九州港北九州港(日语:北九州港/きたきゅうしゅうこう )是位于日本福冈县北九州市的港口。北九州港是九州北部地区规模最大的港口之一,和下关港合称关门港(日语:関門港),并被指定为国际据点
  • 紫花芦莉草紫花芦莉草又名翠芦莉(学名:)为爵床科卢利草属下的一个多年生草本植物。原产于墨西哥。是台湾相当普及的园艺植物,街道边与公园里常见,田野间也可见到野生归化的翠芦莉。依植株高