数据结构––复杂度

马肤
这是懒羊羊

目录

一.时间复杂度

1.1定义

1.2时间复杂度的分类

1.3时间复杂度基本计算规则

1.4例子

1.4.1

1.4.2

1.4.3

1.4.4

1.4.5

1.4.6

1.4.7 

1.4.8

1.4.9

1.4.10

1.4.11

1.4.12

1.4.13

二.空间复杂度

2.1定义

2.2推导大O阶方法


一.时间复杂度

1.1定义

算法的时间复杂度是一个函数,算法中的基本操作的执行次数,为算法的时间复杂度

常用O()表示

1.2时间复杂度的分类

最优时间复杂度:算法完成工作最少需要多少基本操作

最差时间复杂度:算法完成工作最多需要多少基本操作

平均时间复杂度:算法完成工作平均需要多少基本操作

1.3时间复杂度基本计算规则

1.基本操作即只有常数项,认为其时间复杂度为0(1)

2.顺序结构,时间复杂度按加法进行计算

3.循环结构,时间复杂度按乘法进行计算

4.分支结构,时间复杂度取最大值

5.判断一个算法效率时,往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略

6.在没有特殊说明时,我们所分析的时间复杂度都是指最坏时间复杂度

1.4例子

1.4.1

i = n*n;
whlie(i != 1)
    i = i/2;

第一步 :列出循环趟数t与每轮循环i的变化值

t01
in^2n^2/2

第二步 :找到t与i的关系

t = n^2/2*i

第三步 :确定循环停止条件

i ==1

第四步 :联立2,3步解方程

t = 2 数据结构––复杂度,\log,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,操作,没有,程序,第1张2n

1.4.2

x = 0;
while (n>=(x+1)*(x+1))
    x = x+1;

第一步 :列出循环趟数t与每轮循环x的变化值

t01
x01

第二步 :找到t与x的关系

t = x

第三步 :确定循环停止条件

n = (x+1)^2

第四步 :联立2,3步解方程

n = (t+1)^2

t=根号n-1

T=根号n

1.4.3

int i = 1;
while (i

文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:表情:
评论列表 (暂无评论,0人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码