常见时间复杂度还有:nlogn阶,立方阶,指数阶O(2^n)等
耗费时间:O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2^n)<O(n!)<O(n^n)
最坏情况与平均情况:
***平均运行时间是期望的运行时间。
***最坏运行时间是一种保证,在应用中,这是一种最重要的需求,通常除非特别指定,运行时间都是指最坏运行时间。
算法的空间复杂度:
写代码时可以用空间来换取时间。【判断是否闰年的例子:设计算法与查表】
空间复杂度通过计算算法所需的存储空间实现,计算公式:S(n)=O(f(n)),其中n为问题的规模,f(n)为语句关于n所占存储空间的函数。
相关文章
- 算法排序【时间复杂度O(n^2)】
- 时间复杂度分别为 O(n)和 O(1)的删除单链表结点的方法
- 2018.11.02 洛谷P3952 时间复杂度(模拟)
- POJ 3320 Jessica's Reading Problem (尺取法,时间复杂度O(n logn))
- 时间复杂度O(n^2)和O(nlog n)差距有多大?
- 冒泡法的算法最佳情况下的时间复杂度为什么是O(n)
- 有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
- 算法:时间复杂度+二分查找法(Java/Go/Python)实现
- MYSQL学习笔记三:日期和时间函数
- python实现排序算法 时间复杂度、稳定性分析 冒泡排序、选择排序、插入排序、希尔排序