【问题标题】:Which one is faster for binary search?二分查找哪个更快?
【发布时间】:2020-10-02 11:19:50
【问题描述】:

在给定大数据的情况下,哪个更快(例如长度(数据)= 10 亿,其中 data[i] 是字符串类型)?

  1. 平衡二叉树上的二叉搜索
  2. 对排序列表进行二分搜索

【问题讨论】:

  • 这取决于具体的用法。请给出一个具体的例子并标记一个你所询问的数据库。

标签: search binary-search-tree


【解决方案1】:

如果在排序列表下,一个人理解一个数组(O(1) 访问),那么 2(数组)只是稍微快一点,因为平衡二叉树具有相同的复杂性,但更间接,需要空间,如计算索引。

两者都需要对数深度,并且由于树是最佳平衡的,因此深度是相同的。

这不适用于正常的二叉树,具有不同的脊柱长度(到叶子的路径)和尴尬的值分布(在 1-100 中具有根 10)。很明显,对于平衡的二叉树,需要做很多工作=它很昂贵。对于海量数据,可以从该排序数组开始,然后从中构建树。

因此,最佳平衡二叉树是不必要的开销。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多