【问题标题】:Which data structure (Array or B+ tree) is best for the fowllowing scenario in memory?哪种数据结构(数组或 B+ 树)最适合内存中的以下场景?
【发布时间】:2012-01-27 19:10:54
【问题描述】:

哪种数据结构(数组或 B+ 树)最适合内存中的以下场景?

一个文件包含已排序的数字(文件中大约有 1024 个数字)。

  1. 我们必须将所有数字放入一个数据结构中。

  2. 一次搜索操作。

我知道用二分法搜索数组是 O(log n)。但是构建数组比 B+ 树快。 但是不知道B+tree的查找操作?

【问题讨论】:

    标签: arrays tree


    【解决方案1】:

    搜索 B+ 树也是 O(log n)。
    如果您只需要搜索已排序的数字列表,那么数组将是您的最佳选择,尤其是如果您不打算从列表中插入/删除数字。

    【讨论】:

    • 但我们不知道文件中数字的实际数量。
    • @SAHILSINGLA 没关系,您可以动态重新分配数组,或者先进行计数,然后相应地分配数组大小。
    • 最后一个问题......如果数字存在于磁盘块而不是文件中..那么我们可以数数?\
    • @SAHILSINGLA 是的,如果你有正确的逻辑,你可以(虽然我不确定该怎么做)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2021-03-17
    • 2010-12-29
    相关资源
    最近更新 更多