k-d树

✍ dations ◷ 2025-09-17 06:48:46 #数据结构,树结构

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

相关

  • 喃字陶文 ‧ 甲骨文 ‧ 金文 ‧ 古文 ‧ 石鼓文籀文 ‧ 鸟虫书 ‧ 篆书(大篆 ‧  小篆)隶书 ‧ 楷书 ‧ 行书 ‧ 草书漆书 ‧  书法 ‧ 飞白书笔画 ‧ 
  • 大村智大村智(日语:大村 智/おおむら さとし Ōmura Satoshi,1935年7月12日-),日本天然有机物化学家、美术品搜藏家。他是五个G7国家科学院的外籍院士、欧洲科学院(英语:Academia Europaea
  • 威廉·鲁福斯·金威廉·鲁福斯·金(英语:William R. King 1786年4月7日-1853年4月18日),美国政治家、外交官,1853年担任第13任美国副总统,就任不到一个月就去世。此前,他曾担任过北卡罗莱纳州的众议
  • 蛔形下目见内文蛔形下目(学名:Ascaridomorpha),即传统分类中的 蛔目(学名:Ascaridida)或蛔虫目, 原是胞管肾纲旋尾亚纲之下的一个目, 现时被降为小杆目旋尾亚目之下的一个下目级分类单元。然
  • 洗礼洗礼(英语:Baptism),又称圣洗圣事、施洗、受洗,全身浸入水中的称为浸礼、受浸,是一宗教仪式,现普遍指基督教的传统仪式。据《圣经》记载,施洗约翰曾为耶稣施洗,而这亦是耶稣吩咐的使
  • 帕特尔·萨德哈卡尔·雷迪帕特尔·萨德哈卡尔·雷迪(Patel Sudhakar Reddy,?-2009年5月23日)是印度共产党(毛主义)中央委员会的领导人。他受安得拉邦马赫布布纳加尔Maldakal附近的Kurthiravulacheruvu的村庄
  • 硬叶林硬叶林是指具有硬叶和短节间(茎上相邻叶片之间的距离)的植被类型。这个词来自的希腊语中的(硬)和(叶)。硬叶植物广泛分布在世界各地,但最典型的是查帕拉尔群落生物群系。可见于澳大
  • 伊丽莎白·萨马拉伊丽莎白·萨马拉(罗马尼亚语:Elizabeta Samara,1989年4月15日-),出生于康斯坦察,罗马尼亚女子乒乓球运动员。她曾获得7枚欧洲乒乓球锦标赛金牌。
  • 蔡兰蔡兰(1939年9月-2020年3月18日),女,江苏海安人,中国农业机械专家,教育家,原江苏理工大学校长。1939年生于江苏海安。1959年考入南京工学院农机系,1964年毕业留校,并随系迁建镇江农业机
  • 甘汝来甘汝来(1684年-1739年),字耕道,号逊斋,清朝政治人物,江西奉新县人。康熙五十二年(1713年)癸巳恩科进士,以教习授知县,补直隶涞水县。涞水境内,八旗兵丁与民杂居,汝来到任后,秉公处理欺压居