k-d树

✍ dations ◷ 2025-11-21 06:30:57 #数据结构,树结构

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

相关

  • 骨化三醇骨化三醇(英语:Calcitriol,又称为1,25-二羟胆钙化醇或1,25-二羟维生素D3)是维生素D的活性形式,也是体内的一种激素,在调节血钙与血磷浓度方面有着重要作用。7-脱氢胆固醇在皮肤内
  • 荷兰共和国尼德兰七省联合共和国(荷兰语:De Republiek der Zeven Verenigde Nederlanden),又称联省共和国,中文俗称荷兰共和国,是1581年-1795年期间,在现在的荷兰及比利时北部地区(弗兰德地区)
  • 五元环杂环化合物是分子中含有杂环结构的有机化合物。杂环一概念与碳环相对,指的是成环的原子不仅包括碳,还包括氮、氧或硫等原子。简单的杂环环系从3到10员不等;可以是脂环(如四氢呋
  • 文安立文安立(挪威语:Odd Arne Westad,1960年1月5日-)挪威历史学家,主要研究的是冷战史和当代东亚史。曾任伦敦政治经济学院国际史教授、哈佛大学肯尼迪政府学院李成智美国-亚洲关系讲座
  • 钟惠澜钟惠澜(1901年6月24日-1987年2月6日),广东梅县人,中国热带病学家,曾任北京大学人民医院院长。
  • 纹猫属Felis marmorata纹猫(学名 Pardofelis marmorata),又名云猫,是一种体型与家猫大小相仿的猫科动物,模式产地在苏门答腊 。纹猫的尾巴较长,并长有厚毛。纹猫一般栖息在树上,有类似大
  • 玛莎·蔡斯玛莎·蔡斯(Martha Cowles Chase,1927年8月8日-2003年8月27日)是一位美国生物学家,与阿弗雷德·赫希所作的赫希-蔡斯实验证明了DNA为遗传物质,为20世纪生物学最重要的发现之一。19
  • 1-庚烯1-庚烯(英语:1-heptene)是含有7个碳原子的直链烯烃,化学式为C7H14或H(CH2)5CH=CH2,活性强烈。主要用途是作为有机化合物合成时的催化剂。庚烯常混合于烷类之中,石油分馏后丙烷或丁
  • 传递闭包传递闭包、即在数学中,在集合 上的二元关系 的传递闭包是包含 的 上的最小的传递关系。例如,如果 是(生或死)人的集合而 是关系“为父子”,则 的传递闭包是关系“ 是
  • 罗伯特·杜瓦尔罗伯特·塞尔登·杜瓦尔(英语:Robert Selden Duvall,1931年1月5日-)美国加州圣地牙哥人,是美国1970年代至2000年代著名演技派男影星,1983年以《怜情蜜意》(Tender Mercies)荣获奥斯卡