kd樹劃分原則?
多維查找樹適合于對多維數據進行索引,所有的維度在不同層次間輪流出現,每個節(jié)點根據當前的屬性和對應屬性值分為兩個分支。在使用時主要是將樹完全加載到內存中,然后在樹上執(zhí)行查找,所以說KD樹是一種主存數據結構。實際上其要表達的含義是KD樹適合用將數據完全放在主存中執(zhí)行查找,而不適合于存儲在硬盤上執(zhí)行查找。主要原因是KD樹有太多的內節(jié)點,這些節(jié)點如果每個都占用一個頁面的話,不但浪費空間,還需要大量的磁盤IO讀寫樹的節(jié)點內容,因此KD樹并不像B+樹那樣適合于磁盤。 當然,也有改進的KD樹,就是將每個節(jié)點并不只分為兩個分支,而是分為多個分支,這樣可以減小樹的內節(jié)點數量,使其能夠高效地存儲在磁盤上