分析:随着模块n的增大,算法执行的时间的增长率和 f(n) 的增长率成正比,所以 f(n) 越小,算法的时间复杂度越低,算法的效率越高 。
2. 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出 T(n) 的同数量级(它的同数量级有以下:1,log2n,n,n log2n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n) = 该数量级,若 T(n)/f(n) 求极限可得到一常数c,则时间复杂度T(n) = O(f(n)) 。
for(i=1; i<=n; ++i) {for(j=1; j<=n; ++j) { //该步骤属于基本操作执行次数:n的平方次 c[i][j] = 0;for(k=1; k<=n; ++k) //该步骤属于基本操作执行次数:n的三次方次c[i][j] += a[i][k] * b[k][j]; }} 则有 T(n) = n 的平方+n的三次方,根据上面括号里的同数量级,我们可以确定 n的三次方 为T(n)的同数量级
则有 f(n) = n的三次方,然后根据 T(n)/f(n) 求极限可得到常数c
则该算法的时间复杂度:T(n) = O(n^3) 注:n^3即是n的3次方 。
空间复杂度空间复杂度可以分为两个方面:
1.程序保存所需要的存储空间,也就是程序的大小 。
2.程序在执行过程中所需要消耗的存储空间资源,如程序在执行过程中的中间变量等 。
简单算法实例:随机生成一个20个整数数据的数组,然后输入要查找的数,然后用顺序查找法:
伪代码:
变量X<-输入待查找的数据
变量arr<-随机生成数据数组
for 1 to 20 if arr[i] ==x break;找到数据 else 输出该数据的位置程序结束
【什么是算法?如何学习算法?算法入门的学习路径】
推荐阅读
- 房产中介上班第一天要干些什么 房产中介新人每天该干什么
- 姜用什么醋泡比较好 用哪种醋泡姜效果好
- 一文让你知道为什么学了PHP的都要转学Go语言
- 买的羽绒服有鸭腥味是不是假货 羽绒服鸭味重是假货吗
- 怎么去鼻子黑头白头 怎么去鼻子黑头
- 四川有几条河 四川的四条河是哪几个
- 盐度最高的海不是死海么 死海为什么含盐量高
- 淘宝卖家的级别是皇冠高还是钻石高? 淘宝上金牌卖家靠谱还是皇冠卖家
- 梦见樱花树盛开樱花给别人拍照 梦见樱花树盛开樱花是胎梦吗
- 梦见在地上捡钱了是什么预兆 梦到在地上捡钱是什么意思