【文件属性】:
文件名称:leetcode卡-time-space-complexity:时空复杂度
文件大小:4KB
文件格式:ZIP
更新时间:2021-07-06 21:00:00
系统开源
leetcode卡使用
Big
O
Notation
优化我们的代码
介绍
什么是Big
O
?
作为软件工程师,我们应该关心我们正在编写的代码的性能。
在理想的世界中,我们希望我们的算法和应用程序架构既高效又具有执行力,但是,有些算法比其他算法更有效。
在确定我们的代码是否可扩展时,由于机器运行速度和性能的变化,可能很难在时间和空间复杂性方面传达成本,但这正是
Big
O
符号派上用场的地方。
Big
O是对算法效率的简化分析。
algorithm只不过是执行某些任务所需的一系列步骤。
如果我们把每一步都当作一个基本的计算单位,那么一个算法的执行时间就可以表示为解决问题所需的步数。
示例:
O(1),
O(log(n)),
O(n),
O(n
log(n)),
O(n^2)
O
代表time和space复杂度的顺序。
在
Big
O
表示法中,
n代表函数或算法中input
size的复杂性。
通常,输入大小由算法中n的最大因子决定。
Big
O
是独立于机器的,因为它检查算法中涉及的基本计算机步骤。
在为算法实现任何解决方案后,最好重构您的解决方案以考虑
Big-O
时间和空间复杂
【文件预览】:
time-space-complexity-master
----README.md(8KB)