k-d树

✍ dations ◷ 2025-11-29 16:40:14 #数据结构,树结构

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

相关

  • 血脑屏障脑血管障壁(英语:blood–brain barrier ,BBB),也称为血脑屏障或血脑障壁,指在血管和脑之间有一种选择性地阻止某些物质由血液进入大脑的“屏障”。19世纪末,保罗·埃尔利希在一个实
  • 奥硝唑奥硝唑(Ornidazole),化学名:1-(3-氯-2-羟丙基)-2-甲基-5-硝基咪唑,是一种5-硝基咪唑类抗生素,用于治疗厌氧菌和原虫、滴虫感染。左奥硝唑是奥硝唑的左旋体((S)-(−)-),用于滴虫、阿米
  • 托勒密克劳狄乌斯·托勒密(古希腊语:Κλαύδιος Πτολεμαῖος;拉丁语:Claudius Ptolemaeus,约100年-170年,又译托勒玫或多禄某)是一位学者,同时也是数学家、天文学家、地理学
  • 南方司令部美国南方司令部 (USSOUTHCOM), 驻于佛罗里达州大迈阿密多拉,是美国9大一体化作战司令部之一,责任区(英语:Area of responsibility)是加勒比海、中美洲和南美洲,也负责巴拿马运河的
  • 案底案底是个人的刑事犯罪纪录,存于当地或上至国家级的档案中,是自然人的历史另类表现。有案底的人并不一定曾经监禁。有案底的人,多数人都害怕,不过视乎性质,例如良心犯、曾经是政治
  • 利奥波德二世 (神圣罗马帝国)利奥波德二世(Leopold II,1747年5月5日-1792年3月1日),哈布斯堡-洛林王朝的神圣罗马帝国倒数第二任皇帝(1790年-1792年在位),匈牙利和波希米亚国王。他也是奥地利统治下的意大利的
  • 激光唱片激光唱片(英语:Compact Disc,缩写:CD;又称镭射唱片)是一种用以存储数字数据的光学盘片,原被开发用作存储数字音频。CD在1982年面世,至今仍然是商业录音的标准存储设备。在CD尚未发明
  • 索马里兰先令索马里兰先令(英语:Somaliland shilling)是从索马里宣布独立的索马里兰的货币,简称是Slsh。索马里兰先令于1994年10月18日经由索马里兰银行开始发行,100索马里先令兑换1索马里兰
  • 新井白石四配 颜回 · 孟子 · 曾参 · 孔伋日本 藤原惺窝 · 林罗山 · 室鸠巢 新井白石 · 雨森芳洲朝鲜 薛聪 · 权近 · 吉再 · 安珦 · 李穑 李滉 · 王仁 · 李
  • 吹蚀吹蚀(Deflation)是一种风的地质作用,与磨蚀(Abrasion)同为风蚀作用的两种类型。由于气流的直接压力使地面上松散岩石遭到破坏,粉碎和被吹走的作用称为吹蚀。吹蚀盛行于海岸、河床