k-d树

✍ dations ◷ 2025-11-20 17:11:47 #数据结构,树结构

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

相关

  • 台湾大车队坐标:25°02′53.6″N 121°32′21.6″E / 25.048222°N 121.539333°E / 25.048222; 121.539333台湾大车队股份有限公司(英语:Taiwan Taxi Co., LTD.,简称:大车队)是台湾的一个计
  • 遗传性痉挛性下半身麻痹遗传性痉挛性下半身麻痹是一种遗传病,其会导致下肢无力与痳痹,复杂病症甚至会有痉挛、失智、神经原性肌萎缩等。此遗传病的盛行率占人口的10万分之1.27。遗传方面,其遗传方式为
  • 数 (语法)有的语言中,名词、代词、形容词、动词有数的范畴。大部分区分数的语言中,一般只有单数和复数,而一些语言中亦有双数(例如阿拉伯语和古希腊语等)、三数(例如多罗马科语)、微数(Paucal
  • 单调函数在数学中在有序集合之间的函数是单调(monotone)的,如果它们保持给定的次序。这些函数最先出现在微积分中后来推广到序理论中更加抽象结构中。尽管概念一般是一致的,两个学科已经
  • 小行星8967小行星8967(8967 Calandra)是一颗绕太阳运转的小行星,为主小行星带小行星。该小行星于1971年5月13日发现。小行星8967的轨道半长轴为3.0585610 UA,离心率为0.112。
  • 戴梅君戴梅君(1981年3月7日-),是一位台湾的女歌手,曾参加台视《五灯奖》【小朋友歌唱比赛】过二十关,曾参加三立综艺台《21世纪新人歌唱排行榜》校园组过二十关。以唱台语流行音乐歌曲为
  • 唐雪卿唐雪卿(1908年-1955年),女,祖籍珠海唐家,生于上海。是20世纪30年代名噪沪港穗三地的电影明星和粤剧红伶。 唐雪卿系民国政府第一任总理唐绍仪的侄孙女、著名粤剧编剧家唐涤生的堂
  • 查尔斯·基泰尔查尔斯·基泰尔(英语:Charles Kittel,1916年7月18日-2019年5月15日),美国物理学家,曾任加州大学柏克莱分校教授,现为该校荣誉退休教授。基泰尔于英国剑桥大学获得文学士学位,之后于19
  • 徐昭佩徐昭佩(?-549年),梁元帝萧绎的正妻,祖父是徐孝嗣,父亲徐绲。517年十二月,被迎娶为湘东王妃。出嫁当时路经西州,狂风大作,竟吹倒房子;之后又下暴风雪,把喜事的帷帘都覆盖成白色;等新娘来到
  • 越女剑《越女剑》是作家金庸的一部短篇武侠小说,是金庸所有的武侠创作里面历史背景最早的,亦是篇幅最短的。据金庸自己的说法,《鹿鼎记》是他武侠小说收山之作,《越女剑》只算是一个独