k-d树

✍ dations ◷ 2025-11-23 18:46:18 #数据结构,树结构

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

相关

  • 纽约州立大学纽约州立大学(State University of New York,SUNY)是纽约州的一个由多家大学组成的大学系统,不是一家独立的大学,纽约州的首府阿尔巴尼为其总部所在地。纽约州立大学是全球最庞大
  • 住房与城市美国住房和城市发展部部长是美国住房和城市发展部的主管,主要掌管美国的住房和城市发展政策。林登·约翰逊签署法律条文之后正式生效。它的责任是“增加住房拥有率、支持社区
  • span class=nowrapUClsub4/sub/span四氯化铀是一种无机化合物,化学式为UCl4,有放射性。四氯化铀可以通过二氧化铀与氯化亚砜或四氯化碳的反应来制备:四氯化铀遇水产生氯化铀酰,在空气中加热也会氧化到此产物。遇到
  • 死神少女《死神少女》(英文:Gloomy Salad Days)是公视拥抱青春灵魂最深处三部曲之二部曲。由《漂浪青春》周美玲导演。2010年4月27日举行开拍记者会,公视于2010年10月9日晚间9点首播。周
  • 基隆市政府坐标:25°07′54″N 121°44′40″E / 25.131645°N 121.744553°E / 25.131645; 121.744553基隆市政府是中华民国台湾省基隆市的行政机关,最高首长为基隆市市长,中央主要业务
  • 迭戈·马拉多纳迭戈·阿尔芒多·马拉多纳·弗朗哥(西班牙语:Diego Armando Maradona Franco,1960年10月30日-),生于阿根廷首都布宜诺斯艾利斯,昵称“世纪球王”、“球场上帝”,已退役的阿根廷足球
  • 凯格尔峡谷凯格尔峡谷(英语:Kagle Canyon)是位于美国加利福尼亚州洛杉矶县的一个非建制地区。该地的面积和人口皆未知。凯格尔峡谷的座标为34°17′18″N 118°22′34″W / 34.28833°N 1
  • 安道尔国家图书馆安道尔国家图书馆(加泰罗尼亚语:)是安道尔的国家图书馆,建立于1930年9月8日,一度关闭,在1974年重新开馆。 此图书馆在1996年搬到位于安道尔首都安道尔城的一个名为“Casa Bauró”
  • .nr.nr为瑙鲁国家及地区顶级域(ccTLD)的域名,曾以co.nr作为免费用于服务面向公众。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd
  • 羊平镇羊平镇是中华人民共和国河北省曲阳县所辖的一个镇,位于曲阳县南部,距县城10公里。1961年建羊平公社,1985年改为乡,1991年改为镇。工业以雕刻、板材加工为主,农业以小麦、玉米为主