算法复杂度符号
来源:互联网 发布:微信公众号助手 源码 编辑:程序博客网 时间:2024/06/05 05:04
一旦开始翻译就根本停不下来。
翻译自swift-algorithm-club
知道算法有多快以及占用多少内存是非常有用的,能够帮助你选择合适的算法。
算法复杂度给你一个粗略的关于算法运行时间和占用内存的指示,当某人说这个算法最多O(n^2)的运行时间和O(n)的内存,就表示这个算法有点慢但并不暂用很多内存。
通常通过数学分析来计算算法复杂度,这里不详细介绍如何计算,但是知道这些符号的意义还是很重要的。
通常你只需要用直觉就能算出算法复杂度,如果你的代码使用一0个n的元素简单的循环,那么复杂度就是O(n),如果有2个相连的循环,那就是O(n^2),三个就是O(n^3)等等。
注意复杂度只是一个简单的估计而且只有当基数非常大时,例如,插入排序的最差结果是O(n^2),理论上它会比快速排序O(nLogn)慢,但是如果是一小部分数量,插入排序明显要快,尤其是当这个数组本身已经是有序的。
如果你觉得这个有点困惑,别让复杂度困惑太多。它通常在比较两个算法时有用,但是最终你只有测试才知道哪一个更好。而且如果基数确实很小,那么即便是慢的算法也会比快的算法更适合。
0 0
- 算法复杂度符号
- 算法时间复杂度的符号
- 算法复杂度分析符号θ
- 有关算法时间复杂度的符号描述
- 算法时间复杂度的表达-渐进符号与主定理
- ACM算法-时间复杂度分析(3.渐进符号)
- 复杂度符号意义
- 大O符号/大Ω符号/大Θ符号/小o符号/小w符号等各种算法复杂度记法含义
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- 算法复杂度
- HBuilder mui 手势事件 转自【B5教程网】:http://www.bcty365.com/content-146-2389-1.html
- tableView刷新指定的cell 或section和滚动到指定的位置
- 数论
- grails 开发笔记
- 如何添加自定义的msg到ORB SLAM
- 算法复杂度符号
- Struts1 HTML标签
- Win10 Edge_Chrome浏览器快捷键
- 51单片机
- 无法连接aws里的MySql
- PAT乙级1038
- oracle基本介绍
- ViewPager,TabLayout,Fragment实现tabs滑动
- PHPUnit Cp.8: Database Testing