为什么kd-tree是主内存结构?
Why is the kd-tree a main memory structure?
我只是想知道为什么 kd-tree 总是被认为是主要的内存结构。这意味着每个节点都保存在主内存中,不是吗?
与 B 树(每个节点都应该适合一个磁盘块)相比,这对我来说意义不大。谁能解释一下?谢谢:)
为了有效地将树存储在磁盘上,它应该适合 8k 页(大多数硬盘驱动器的页大小)。使用 k-d-tree 这将是巨大的浪费,而且效率非常低。
因此,将 k-d-tree 写入磁盘没有任何回报。
另一方面,B 树可以设置为使用整个磁盘页面。
这很重要,因为磁盘在访问块(或什至更好:块范围)时效率更高,而不是在随机访问字节时。
我只是想知道为什么 kd-tree 总是被认为是主要的内存结构。这意味着每个节点都保存在主内存中,不是吗?
与 B 树(每个节点都应该适合一个磁盘块)相比,这对我来说意义不大。谁能解释一下?谢谢:)
为了有效地将树存储在磁盘上,它应该适合 8k 页(大多数硬盘驱动器的页大小)。使用 k-d-tree 这将是巨大的浪费,而且效率非常低。
因此,将 k-d-tree 写入磁盘没有任何回报。
另一方面,B 树可以设置为使用整个磁盘页面。 这很重要,因为磁盘在访问块(或什至更好:块范围)时效率更高,而不是在随机访问字节时。