【问题标题】:Is there a rule of thumb for evaluating optimal time/memory complexity of an algorithm? [closed]是否有评估算法的最佳时间/内存复杂度的经验法则? [关闭]
【发布时间】:2014-03-01 19:22:09
【问题描述】:

我总是在评估问题的复杂性时遇到问题。我通常会尝试找到一个 O(n) 解决方案,但有时 O(nlogn) 甚至 O(n^2) 是最好的解决方案。

我知道的一个“经验法则”是,如果您有一个已排序的数组并且您需要找到一些东西,那么它可能可以在 O(logn) 中完成。我也知道排序不能比 O(nlogn) 更快。没有经验的程序员可以遵循任何类似的规则吗?反复出现的问题你知道其复杂性吗?

对我来说最麻烦的是 O(n^2),尤其是当我面临考试压力并且我浪费时间试图找到更好的考试时。

我希望这不是一个过于宽泛和基于观点的问题。

谢谢!

【问题讨论】:

标签: algorithm time-complexity space-complexity


【解决方案1】:

非基于比较的排序需要 O(n) 时间。例如:基数排序。

这似乎是一本好书。 http://bigocheatsheet.com/ 它包含常用算法列表,它们的空间和时间复杂度。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多