每個節點維護兩個資料,並指向最多 3 個子節點。如圖 3 個子節點的資料分別為:小於 17, 17 ~ 35 ,大於 35。
假設,從上圖中查詢 10 這個數,步驟如下:
找到根節點,對比 10 與 17 和 35 的大小,發現 10 < 17 在左子節點,也就是第 2 層節點;
從根節點的指標,找到左子節點,對比 10 與 8 和 12 的大小,發現
8 < 10 < 12
,資料在當前節點的中間子節點,也就是第 3 層節點;通過上步節點的指標,找到中間子節點(第 3 層節點),對比 10 與 9 和 10 的大小,發現
9 < 10 == 10
,因此找到當前節點的第二數即為結果。
加上忽略的 12 個資料,從 26 個資料中查詢一個數字 10,僅僅用了 log3(26)≈ 3
次,而如果用平衡二叉樹,則需要log2(26)≈ 5
次,事實證明,多叉樹確實可以再次提高查詢效能。
多叉樹是在二分查詢樹的基礎上,增加單個節點的資料儲存數量,同時增加了樹的子節點數,一次計算可以把查詢範圍縮小更多。
優點:二叉平衡樹的基礎上,使載入一次節點,可以載入更多路徑資料,同時把查詢範圍縮減到更小。
本作品採用《CC 協議》,轉載必須註明作者和本文連結