算法复杂度

1.算法的时间复杂度

算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。即

算法的工作量=f(n)

2.算法的空间复杂度

算法的空间复杂度是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过   程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为   了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关键词:算法分析、算法复杂度、时间复杂度、空间复杂度 相关文章详细解释了这些内容,以下是个人理解与部分摘录 在cs...
    本地路过阅读 790评论 0赞 0
  • 时间复杂度 时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没...
    小慕先森阅读 524评论 0赞 0
  • 时间复杂度 一个算法花费的时间,与算法中语句的执行次数成正比例。哪个算法中语句执行次数多,它花费时间就多。我们把一...
    几千里也阅读 826评论 0赞 1
  • 对于一个给定的算法,我们要做两项分析。第一是从数学上证明算法的正确性,而在证明算法是正确的基础上,第二部就是分析算...
    一个人在路上走下去阅读 2,092评论 1赞 7
  • 走走老地方 一切正如冬季的荒凉 山还在 路苍苍 水还在 桥凉凉 隐约看丛林 只有坟墓在守望
    王小圈阅读 187评论 5赞 2

友情链接更多精彩内容