我只是想知道为什么kd-tree总是被视为主存储器结构。这意味着每个节点都保存在主存中,不是吗?
与B树(每个节点应该放在一个磁盘块中)相比,这对我来说并没有多大意义。谁能解释一下呢?谢谢:))
答案 0 :(得分:1)
要有效地将树存储在磁盘上,它应该适合8k页(大多数硬盘的页面大小)。使用k-d树,这将是巨大的浪费,效率非常低。
因此,将k-d-tree写入磁盘并不值得付出代价。
另一方面,可以设置B树,以便它们使用整个磁盘页面。 这很重要,因为磁盘在访问块时更有效(甚至更好:块的范围),而不是在随机访问字节时。