【问题标题】:Does the input size matter for algorithm time complexity if the input is a sorted database versus non-sorted?如果输入是排序数据库还是非排序数据库,输入大小对算法时间复杂度是否重要?
【发布时间】:2020-08-21 01:33:25
【问题描述】:

我有一个关于时间复杂度的理论问题(如果不允许,请指导我到正确的地方!)。

假设我有一个按词法排序的列表,而一个不是。我知道线性搜索和二分搜索算法在运行时间上有很大差异(二分搜索是对数的,所以每次输入减半),但除此之外,输入的 大小是否有任何意义 用于排序列表与非排序列表?如果输入非常大,排序列表会更好,还有其他原因吗?

在这方面真的很新,所以任何澄清将不胜感激!

【问题讨论】:

    标签: python algorithm sorting time-complexity


    【解决方案1】:

    我知道线性搜索和二分搜索算法在运行时间上有很大差异(二分搜索是对数的,所以每次输入减半)

    这和其他类似的算法是主要优势

    排序列表与非排序列表的输入大小有什么关系吗

    不,每个元素在 RAM 中占用相同数量的空间,无论顺序如何(对于标准列表)。

    如果输入非常大,排序列表会更好吗?

    优点:

    • 某些算法在排序的输入集上速度更快
    • 如果显示排序输出,最终用户会更满意。
    • 排序后的数据更容易压缩,因此对于存储在磁盘或专用 RAM 存储中,它可能会更小,但如果您只是将其放入标准数组或列表中,则没有任何区别。

    可能还有更多,这是我随便想出来的。

    【讨论】:

    • 非常感谢,这很有见地!
    猜你喜欢
    • 2013-07-15
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2011-09-01
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多