一般来说,在谈论“算法”时,上下界指的是“渐近”界限( ),我认为它与函数的界限(在完整数学领域)并不完全相同。

以上面的边界为例。 在原始情况下,我们计算的时间复杂度记为T(n),它表示与数据大小相关的函数。 在复杂度分析时,我们希望得到一个整体的评价,即n足够大时T(n)的增长,那么如何表征呢?

使用渐近上限。 我们将其中一个上限记录为 f(n)下界值,这说明 f(n) 有能力(在找到正常数 c 之后)表示 T(n) 的增长上限(c\times f( n) 始终大于或等于 T(n) )。 这样的上界有无数个,但是在衡量一个算法的时间复杂度时,为了不公平,我们选择尽可能紧凑的上界,就像大O表示法中的上界一样。 例如,T(n) = 5 \times n^{2} + 6n - 7,f(n) = n^{3} 是一个上限,但我们认为 T(n) = O(n^{ 2 })。

我的理解来自于清华大学邓俊辉教授出版的《数据结构与算法》教材。 我推荐你读一下。 还讲了上限的两个性质,有助于我们理解为什么在计算时间复杂度时“只关注大头”。 很有帮助。

搜索时,使用“渐近界”或“ ”作为关键词也许能快速找到你想要的信息。

未经允许不得转载! 作者:admin,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网

原文地址:《算法中的上限和下限是什么意思?》发布于:2024-03-25

发表评论

表情:
验证码
评论列表 (暂无评论,73人围观)

还没有评论,来说两句吧...