数据结构与算法学习记录-Day2

1.4.3 算法的时问复杂度

空间效率和时间效率矛盾。

事后统计法; 缺点:客观因素影响

事前分析估算法;

语句的重复执行次数(语句频度)和执行一次所需时间的乘积;

一个算法的执行时间大致上等于其所有语句执行时间的总和;

每条语句执行一次所需的时间,一般是随机器而异的。取决于机器的指令性能、速度以及编译的代码质量。是由机器本身软硬件环境决定的,它与算法无关。(利用单位时间内制和语句频度可脱离计算机环境来比较时间性能)

例:求两个n阶矩阵的乘积算法。

优化:只比较数量级(渐进时间复杂度O(f(n)))

T(n)=O(f(n)) T(n)是f(n)的同数量级函数

O-Order

T(n)=O(n^3)

所以,看最内层循环(基本语句)叠加次数即可(抓大头)

基本语句的特点:

算法中重复执行次数和算法的执行时间成正比的语句;

对算法运行时间的贡献最大;

执行次数最多;

问题规模n:

找高次,去系数。

例:

x=0;y=0; for(int k=0;k<n;k++) x++; for(int i=0;i<0;i++) for(int j=0;j<n;j++) y++;

f(n)=n(n+1)

T(n)=O(n^2)

立方阶:

for (i=1;i<=n;i++)

        for (j=1;j<=i;j++)

                for(k=1;k<=j;k++)

                        x=x+1;

T(n)=O(n^3)

O(lgn)也可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值