演算法 R樹的研究及實現(1)

2021-06-18 06:35:23 字數 658 閱讀 7516

從b樹、b+樹、b*樹談到r 樹

r樹的理論比較容易看明白,但是博主並沒有給出幾個核心演算法實現,譬如:節點**,節點**包含兩個情況的**:葉子節點關鍵字大於m,需要將座標點按照幾何**;

非葉子節點子樹數量大於m,需要將子樹代表的矩形按照幾何進行**;這兩個演算法是核心演算法,我搜尋了部分資料,並且貼出來(請注意:這些演算法不一定是最優解,效率也可能並非最高,有可能的話,各位可以查閱相關**得出合適的演算法)。

情況一【葉子節點的座標點**成為兩個矩形】

情況二【n個矩形**成兩個矩形】

具體操作例子,好吧,這種情況我來代勞。

現在假設我們有一顆r樹,r樹的階m=3,則最多有葉子節點3個關鍵字,而非葉子節點最多有3個子樹,最少有2個關鍵字或2個子樹,當然,跟節點至少有1個關鍵字(假如根節點同時是葉子節點的話)或者2個子樹(假如根節點並非葉子節點)。這棵r樹是二維的,我們可以比照地圖的座標進行相關操作。

下面我畫出一些插入操作的圖形,讓自己更加明了:

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

插入關鍵字(點的為座標【1,2】)

R樹演算法C 實現

不足結語 參考是最重要的。首先應該看的就是r樹的 a.guttman.r trees a dynamic index structure for spatial searching.in sigmod conference,1984.中介紹的節點組織結構 不同的 演算法 效率分析,是很多部落格上被省...

分類演算法 決策樹演算法及其R實現

以鳶尾花為例子來說明 觀察上圖,判決鳶尾花的思考過程可以這麼來描述 花瓣的長度小於2.4cm的是setosa 圖中綠色的分類 長度大於2.4cm的呢?可以通過寬度來判別,寬度小於1.8cm的是versicolor 圖中紅色的分類 其餘的就是virginica 圖中黑色的分類 用圖形來形象的展示上述思...

Boosting演算法與R的實現

boost也分為許多種類,如adaboost gradient boost xgboost等,gradient boost顧名思義,與梯度脫不開關係,對梯度有了解或學過數值計算的人應當知道,負梯度方向是函式下降最快的方向。在有監督機器學習中,我們的目標是學得使得損失函式最小的模型,因此梯度下降演算法...