k-d树

✍ dations ◷ 2025-12-03 19:10:02 #数据结构,树结构

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

相关

  • 炎症性肠病炎症性肠病、发炎性肠道疾病(英语:Inflammatory Bowel Disease, 简称IBD)是一组特定的肠道慢性疾病的统称,主要包括克隆氏症和溃疡性结肠炎两种。炎症性肠病的主要分为克罗恩病
  • FXR1osh, 1osv, 1ot7· 类固醇激素受体 · 转录辅激活物 · 转录辅阻遏物 · 蛋白质结合 · 锌离子结合 · sequence-specific DNA binding· 依赖DNA的转运调控 · 信号
  • 中云中云指云底高度在2500至6000米之间的云。中云又可分为高积云及高层云两类。高积云的云块较高层云小,但可清晰分辨轮廓,有时出现在两个或以上的高度,高积云较薄时呈白色,在较厚时
  • 瓦豪瓦豪河谷(德语:Wachau)是奥地利梅尔克到克雷姆斯的一段多瑙河河谷,全长30公里。该地区拥有完整的自史前时期演化至今的各时期的历史痕迹,拥有众多的历史古城和修道院。其中古镇杜
  • 山西农业大学坐标:37°25′26″N 112°34′31″E / 37.42389°N 112.57528°E / 37.42389; 112.57528山西农业大学位于山西省晋中市太谷县,是一所有百年历史的著名学府,学校源于1907年的铭
  • 长QT综合症长QT症又名长QT综合症(Long QT syndrome),全称是QT间期延长综合症,简称LQTS,是一种跟心律或心血管有关的心脏病。这一种病可能是先天的,也有可能是因为治疗其他心脏病的药物而引起
  • 祈使语气祈使语气(英语:imperative mood)是表达直接命令或请求的语气。它还用来表示禁止、请求或任何其他类的劝告。英语的祈使语气是简单地使用动词不定式来形成的。 是其非限定形式,是
  • 日本运载火箭发射列表以下列表记录了日本国现代航天事业的各次运载火箭的发射情况。发射任务的最终目标高度凡高于地球海平面100千米的卡门线均被收录,未收录探空火箭的亚轨道任务。 (UTC+9)11时58
  • 齿轮油齿轮油是一种较高粘度的润滑油,专供保护传输动力零件,通常是伴随着强烈的硫磺气味。车辆齿轮油采用性能分类和粘度分类两种方法。目前世界各国广泛采用美国石油学会(API)性能
  • 陈鹡陈鹡(16世纪-17世纪),字世敬,绍兴府山阴县人,明朝政治人物。陈鹡是万历十年(1582年)的举人,十七年(1589年)成进士,为父母服丧后获授刑部主事;历迁员外郎、郎中,外任南昌知府,再转为江西按察