kd-tree實(shí)例

先以一個簡單直觀的實(shí)例來介紹k-d樹算法。假設(shè)有6個二維數(shù)據(jù)點(diǎn){(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)},數(shù)據(jù)點(diǎn)位于二維空間內(nèi)(如圖1中黑點(diǎn)所示)。k-d樹算法就是要確定圖1中這些分割空間的分割線(多維空間即為分割平面,一般為超平面)。下面就要通過一步步展示k-d樹是如何確定這些分割線的。

k-d樹算法可以分為兩大部分,一部分是有關(guān)k-d樹本身這種數(shù)據(jù)結(jié)構(gòu)建立的算法,另一部分是在建立的k-d樹上如何進(jìn)行最鄰近查找的算法。

kd-tree造價(jià)信息

市場價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號 市場價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
空調(diào)欄桿 纖右側(cè)圖紙及實(shí)例圖 油漆顏色按實(shí)例 查看價(jià)格 查看價(jià)格

m 13% 佛山市謎烙克金屬制品有限公司
空調(diào)欄桿 纖右側(cè)圖紙及實(shí)例圖 油漆顏色按實(shí)例 查看價(jià)格 查看價(jià)格

m 13% 廣州友迪建材實(shí)業(yè)有限公司
聚乙烯胎耐根穿刺防水卷材 TREE4 查看價(jià)格 查看價(jià)格

m2 13% 遼寧大禹防水科技發(fā)展有限公司
帶網(wǎng)扶手 KD-2901 查看價(jià)格 查看價(jià)格

13% 福建南安市科迪衛(wèi)浴有限公司
扶手 KD-2902 查看價(jià)格 查看價(jià)格

13% 福建南安市科迪衛(wèi)浴有限公司
內(nèi)接式接口 KD50 KD65 查看價(jià)格 查看價(jià)格

13% 廣西南寧賽福消防設(shè)備有限公司
菜盆軟管 KD-401 80cm 查看價(jià)格 查看價(jià)格

13% 福建南安市科迪衛(wèi)浴有限公司
電源線 kd75型號:kd75;絕緣材料:對絞銅絲編織屏蔽;額定電壓(V):250;特點(diǎn):內(nèi)芯全銅 2×0.75銅芯粗細(xì)0.7平方; 查看價(jià)格 查看價(jià)格

凱聰

m 13% 上海凱聰電子科技有限公司
材料名稱 規(guī)格/型號 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時間
暫無數(shù)據(jù)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時間
貨梯KD6#/KD7# 詳附件|1臺 3 查看價(jià)格 日立電梯(中國)有限公司深圳分公司 全國   2021-01-18
貨梯KD5#/KD8# 詳附件|1臺 3 查看價(jià)格 日立電梯(中國)有限公司深圳分公司 全國   2021-01-18
KD 厚度0.5|1m2 1 查看價(jià)格 天津市恒信鑫鋼材銷售有限公司 天津  天津市 2013-05-20
樹形秋千TREE-SHAPEDSWING 1、尺寸:大約5000長Size2、材質(zhì):工程塑料 PEMaterial|1套 3 查看價(jià)格 廣州奇樂游樂設(shè)備有限公司 廣東   2020-07-09
KD罩面涂料 18L|9544桶 1 查看價(jià)格 亞士漆(上海)有限公司廣州辦事處 廣東  廣州市 2015-08-25
KD直紋木門 1000×2200|50m2 3 查看價(jià)格 佛山市南海沐森木業(yè)有限公司 全國   2022-05-09
KD涂裝木皮板 (2440×1220×3)mm|1m2 1 查看價(jià)格 東莞市奧卓木業(yè)有限公司 廣東   2022-07-25
KD9816應(yīng)方塊地毯 500X500X5|3718m2 1 查看價(jià)格 常州市彬彬機(jī)房設(shè)備安裝有限公司 江蘇  常州市 2015-11-19

kd-tree構(gòu)建算法

k-d樹是一個二叉樹,每個節(jié)點(diǎn)表示一個空間范圍。表1給出的是k-d樹每個節(jié)點(diǎn)中主要包含的數(shù)據(jù)結(jié)構(gòu)。

表1 k-d樹中每個節(jié)點(diǎn)的數(shù)據(jù)類型

域名

數(shù)據(jù)類型

描述

Node-data

數(shù)據(jù)矢量

數(shù)據(jù)集中某個數(shù)據(jù)點(diǎn),是n維矢量(這里也就是k維)

Range

空間矢量

該節(jié)點(diǎn)所代表的空間范圍

split

整數(shù)

垂直于分割超平面的方向軸序號

Left

k-d樹

由位于該節(jié)點(diǎn)分割超平面左子空間內(nèi)所有數(shù)據(jù)點(diǎn)所構(gòu)成的k-d樹

Right

k-d樹

由位于該節(jié)點(diǎn)分割超平面右子空間內(nèi)所有數(shù)據(jù)點(diǎn)所構(gòu)成的k-d樹

parent

k-d樹

父節(jié)點(diǎn)

從上面對k-d樹節(jié)點(diǎn)的數(shù)據(jù)類型的描述可以看出構(gòu)建k-d樹是一個逐級展開的遞歸過程。表2給出的是構(gòu)建k-d樹的偽碼。

表2 構(gòu)建k-d樹的偽碼

算法:構(gòu)建k-d樹(createKDTree)

輸入:數(shù)據(jù)點(diǎn)集Data-set和其所在的空間Range

輸出:Kd,類型為k-d tree

1.If Data-set為空,則返回空的k-d tree

2.調(diào)用節(jié)點(diǎn)生成程序:

(1)確定split域:對于所有描述子數(shù)據(jù)(特征矢量),統(tǒng)計(jì)它們在每個維上的數(shù)據(jù)方差。以SURF特征為例,描述子為64維,可計(jì)算64個方差。挑選出最大值,對應(yīng)的維就是split域的值。數(shù)據(jù)方差大表明沿該坐標(biāo)軸方向上的數(shù)據(jù)分散得比較開,在這個方向上進(jìn)行數(shù)據(jù)分割有較好的分辨率;

(2)確定Node-data域:數(shù)據(jù)點(diǎn)集Data-set按其第split域的值排序。位于正中間的那個數(shù)據(jù)點(diǎn)被選為Node-data。此時新的Data-set' = Data-set\Node-data(除去其中Node-data這一點(diǎn))。

3.dataleft = {d屬于Data-set' && d[split] ≤ Node-data[split]}

Left_Range = {Range && dataleft} dataright = {d屬于Data-set' && d[split] > Node-data[split]}

Right_Range = {Range && dataright}

4.left = 由(dataleft,Left_Range)建立的k-d tree,即遞歸調(diào)用createKDTree(dataleft,Left_

Range)。并設(shè)置left的parent域?yàn)镵d;

right = 由(dataright,Right_Range)建立的k-d tree,即調(diào)用createKDTree(dataright,Right_

Range)。并設(shè)置right的parent域?yàn)镵d。

以上述舉的實(shí)例來看,過程如下:

由于此例簡單,數(shù)據(jù)維度只有2維,所以可以簡單地給x,y兩個方向軸編號為0,1,也即split={0,1}。

(1)確定split域的首先該取的值。分別計(jì)算x,y方向上數(shù)據(jù)的方差得知x方向上的方差最大,所以split域值首先取0,也就是x軸方向;

(2)確定Node-data的域值。根據(jù)x軸方向的值2,5,9,4,8,7排序選出中值為7,所以Node-data = (7,2)。這樣,該節(jié)點(diǎn)的分割超平面就是通過(7,2)并垂直于split = 0(x軸)的直線x = 7;

(3)確定左子空間和右子空間。分割超平面x = 7將整個空間分為兩部分,如圖2所示。x < = 7的部分為左子空間,包含3個節(jié)點(diǎn){(2,3),(5,4),(4,7)};另一部分為右子空間,包含2個節(jié)點(diǎn){(9,6),(8,1)}。

如算法所述,k-d樹的構(gòu)建是一個遞歸的過程。然后對左子空間和右子空間內(nèi)的數(shù)據(jù)重復(fù)根節(jié)點(diǎn)的過程就可以得到下一級子節(jié)點(diǎn)(5,4)和(9,6)(也就是左右子空間的'根'節(jié)點(diǎn)),同時將空間和數(shù)據(jù)集進(jìn)一步細(xì)分。如此反復(fù)直到空間中只包含一個數(shù)據(jù)點(diǎn),如圖1所示。最后生成的k-d樹如圖3所示。

kd-tree查找算法

在k-d樹中進(jìn)行數(shù)據(jù)的查找也是特征匹配的重要環(huán)節(jié),其目的是檢索在k-d樹中與查詢點(diǎn)距離最近的數(shù)據(jù)點(diǎn)。這里先以一個簡單的實(shí)例來描述最鄰近查找的基本思路。

星號表示要查詢的點(diǎn)(2.1,3.1)。通過二叉搜索,順著搜索路徑很快就能找到最鄰近的近似點(diǎn),也就是葉子節(jié)點(diǎn)(2,3)。而找到的葉子節(jié)點(diǎn)并不一定就是最鄰近的,最鄰近肯定距離查詢點(diǎn)更近,應(yīng)該位于以查詢點(diǎn)為圓心且通過葉子節(jié)點(diǎn)的圓域內(nèi)。為了找到真正的最近鄰,還需要進(jìn)行'回溯'操作:算法沿搜索路徑反向查找是否有距離查詢點(diǎn)更近的數(shù)據(jù)點(diǎn)。此例中先從(7,2)點(diǎn)開始進(jìn)行二叉查找,然后到達(dá)(5,4),最后到達(dá)(2,3),此時搜索路徑中的節(jié)點(diǎn)為<(7,2),(5,4),(2,3)>,首先以(2,3)作為當(dāng)前最近鄰點(diǎn),計(jì)算其到查詢點(diǎn)(2.1,3.1)的距離為0.1414,然后回溯到其父節(jié)點(diǎn)(5,4),并判斷在該父節(jié)點(diǎn)的其他子節(jié)點(diǎn)空間中是否有距離查詢點(diǎn)更近的數(shù)據(jù)點(diǎn)。以(2.1,3.1)為圓心,以0.1414為半徑畫圓,如圖4所示。發(fā)現(xiàn)該圓并不和超平面y = 4交割,因此不用進(jìn)入(5,4)節(jié)點(diǎn)右子空間中去搜索。

再回溯到(7,2),以(2.1,3.1)為圓心,以0.1414為半徑的圓更不會與x = 7超平面交割,因此不用進(jìn)入(7,2)右子空間進(jìn)行查找。至此,搜索路徑中的節(jié)點(diǎn)已經(jīng)全部回溯完,結(jié)束整個搜索,返回最近鄰點(diǎn)(2,3),最近距離為0.1414。

一個復(fù)雜點(diǎn)了例子如查找點(diǎn)為(2,4.5)。同樣先進(jìn)行二叉查找,先從(7,2)查找到(5,4)節(jié)點(diǎn),在進(jìn)行查找時是由y = 4為分割超平面的,由于查找點(diǎn)為y值為4.5,因此進(jìn)入右子空間查找到(4,7),形成搜索路徑<(7,2),(5,4),(4,7)>,取(4,7)為當(dāng)前最近鄰點(diǎn),計(jì)算其與目標(biāo)查找點(diǎn)的距離為3.202。然后回溯到(5,4),計(jì)算其與查找點(diǎn)之間的距離為3.041。以(2,4.5)為圓心,以3.041為半徑作圓,如圖5所示??梢娫搱A和y = 4超平面交割,所以需要進(jìn)入(5,4)左子空間進(jìn)行查找。此時需將(2,3)節(jié)點(diǎn)加入搜索路徑中得<(7,2),(2,3)>?;厮葜?2,3)葉子節(jié)點(diǎn),(2,3)距離(2,4.5)比(5,4)要近,所以最近鄰點(diǎn)更新為(2,3),最近距離更新為1.5?;厮葜?7,2),以(2,4.5)為圓心1.5為半徑作圓,并不和x = 7分割超平面交割,如圖6所示。至此,搜索路徑回溯完。返回最近鄰點(diǎn)(2,3),最近距離1.5。k-d樹查詢算法的偽代碼如下所示。

kd-tree實(shí)例常見問題

  • KD

    你好:這是空調(diào)管道的孔洞,用墻洞口定義布置,藍(lán)色那條長虛線表示空調(diào)管道。

  • kd板是什么

    KD板是由 實(shí)木薄皮+夾板 制成的,是一種涂裝木皮板,這個名字源自臺灣科定。表面的實(shí)木貼皮給予非常逼真的實(shí)木觸感和觀感,很有檔次感。與生態(tài)板不同就是表面用的是實(shí)木皮,厚度在3.6mm,價(jià)格¥200~¥...

  • 黃瓜膠韓國phyto tree黃瓜膠多少錢

    韓國“phyto?tree黃瓜膠”最近很火熱,最讓人愛不釋手的地方在于其有著強(qiáng)大的美白補(bǔ)水修復(fù)功能??諝獾姆蹓m、大氣中的紫外線、化妝品殘留等這些無一不在傷害我們的肌膚。您可以找韓國代購買,價(jià)格都在30...

kd-tree實(shí)例文獻(xiàn)

鎢鋼KD20 鎢鋼KD20

格式:pdf

大?。?span id="fpnjfbz" class="single-tag-height">7KB

頁數(shù): 2頁

評分: 4.5

日本 KD20 鎢鋼化學(xué)成分, KD20 鎢鋼板、 KD20 鎢鋼硬度, KD20 鎢鋼價(jià)格 KD20 鎢鋼的性能 : 具有較好的韌性和相適的耐磨性,主要用于線材,棒材加工用的拉制模。同 時也適合鑄鐵,有色金屬及其合金與非金屬材料不平整表面和間斷切削時的粗 車,精刨精銑,一般孔和深孔的鉆孔,擴(kuò)孔及制作木工等 。 硬度 :91.5 抗折力 :2990 引伸力 :580 壓縮強(qiáng)度 :5400 耐沖擊強(qiáng)度 :29 KD20 鎢鋼的用途: 具有良好的韌性和耐磨性 ,用線材和管拉模零件沖壓凹模, 電機(jī)定轉(zhuǎn)子, EI鋼片,LED線架沖壓. KD20 鎢鋼的特點(diǎn): 1、模具壽命的延長(疲勞強(qiáng)度高,不容易產(chǎn)生應(yīng)力集中) 2、壽命穩(wěn)定性好(裂紋的發(fā)生及擴(kuò)展時間延遲 3、粘附,啃傷大幅度減少(潤滑劑產(chǎn)生的腐蝕極其輕微) 4、線切割電火花加工過程中的耐腐蝕性大大改良(抗電加工腐蝕能

立即下載
KD型多用戶電表 KD型多用戶電表

格式:pdf

大小:7KB

頁數(shù): 16頁

評分: 4.5

目錄 1.概述 ........................................................................................................................................ 3 2.產(chǎn)品種類 ................................................................................................................................ 3 2.1 KD-BASA1(預(yù)付費(fèi)智能安全用電控制型)多用戶電表 ............................................. 3 2.11 主要技術(shù)特點(diǎn) .....................

立即下載
kd-tree相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 廣東國咨招標(biāo)有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 拆邊機(jī) 大山檳榔 上海地鐵維護(hù)保障有限公司通號分公司 甘肅中維國際招標(biāo)有限公司 舌花雛菊 華潤燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 蘇州弘創(chuàng)招投標(biāo)代理有限公司