【问题标题】:Better than binary search [closed]比二分搜索更好[关闭]
【发布时间】:2015-05-26 02:43:55
【问题描述】:

我基本上需要非常快速地搜索大量数字(在 2^128 范围内)。有没有什么比二分搜索有更好的性能,即。比 O(log n) 好?

[edit] 数据已排序并且分布非常均匀。

【问题讨论】:

  • 先选择一种语言。
  • 您的数据是否已排序?
  • 你的数字是巨大的还是数量巨大(你有 2^128 个数字)?
  • 哈希表会给出 O(1)....

标签: java c++ search


【解决方案1】:

二分查找仅在数据排序后才有效。对二分搜索的边际改进是插值搜索。但是,插值搜索优于二分搜索的效率取决于数据的分布。如果数据集分布相当均匀,则可以使用插值搜索。 此链接可能会有所帮助, http://blog.imaginea.com/interpolation-search-a-search-algorithm-better-than-binary-search/

【讨论】:

    猜你喜欢
    • 2011-05-13
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多