时间复杂度
来源:互联网 发布:python openwrt 模拟 编辑:程序博客网 时间:2024/06/08 17:40
让编程改变世界Change the world by program---小昝
当我们参加比赛,例如蓝桥杯、ACM…时,往往一个题目都会有内存限制,而且学好算法必须要明白算法的复杂程度,同时时间复杂度也是上研究生的一个必备知识点,所以我们有必要去研究一下算法的时间复杂度(时间复杂度、空间复杂度)
判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略,而更应该关注主项(次数最高项)的阶数。
判断一个算法好不好,我们不能通过少量的数据判断算法的好坏,不能以偏概全。
时间复杂度:看的是算法执行时间的增长率(看潜力,不看现在的状态)。
一般情况下,随着输入规模n的增大,T(n)增长最慢的算法为最优算法。
时间复杂度攻略:
*用常数1取代运行时间中的所有加法常数 注:1+1+…+1=1 O(1)
*在修改后的运行次数函数中,只保留最高阶项。
*如果最高阶项存在且不为1,则去除于这个项相乘的常数。
*得到的最后结果即是大O阶。
常见时间复杂度
复杂度曲线图
复杂度曲线图
常见时间复杂度比较
最坏运行时间:
最坏运行时间是一种保证。在应用中,这是一种最重要的需求,通常除非特别指定,我们提到的运行时间都是最坏情况的运行时间。
算法空间复杂度:
空间换取时间,时间换取空间。
举个例子:
到底哪一种方法好,其实还是要看具体情况。
总结
当直接要让我们求“复杂度”时,通常指的是时间复杂度。显然对时间复杂度的追求更是属于算法的潮流!
阅读全文
0 0
- 时间复杂度,空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度 & 空间复杂度
- 时间复杂度、空间复杂度
- 时间复杂度 空间复杂度
- 时间复杂度&空间复杂度
- 时间复杂度/空间复杂度
- 时间复杂度+空间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- Django学习
- Just a Hook (线段树,区间更新)
- nginx 基本入门(至今为止见过最好的 nginx 入门文章,没有之一。)
- 三字母词
- Java中常用的代码汇总
- 时间复杂度
- momgo内嵌数组
- 求一个数的二进制从左到右翻转后的值
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- vue favicon.ico正确显示
- Java RTTI和反射机制
- spring mvc restful 传入List
- PHP 数组
- Spring boot 配置Servelt、Filter、Listener