数据结构(专升本)算法分析基础

算法分析目的:分析算法得时空效率以便改进算法性能。

1.3.1算法时间复杂度分析
一个算法是由控制结构(顺序,分支和循环三种)和原操作(指固有数据类型的操作,如+ - / ++和–等)构成的。算法执行时间取决于两者都综合效果。

算法分析方式:

事后分析统计方法,编写算法对应程序,统计其执行时间。
编写程序不同,执行程度都环境不同,其他因素,所以不能用绝对执行时间进行比较。

事前估算分析办法:撇开上诉因素,认为算法得执行时间是问题规模n的函数。

分析算法得执行时间:
• 求出算法所有原操作的执行次数(也称为频度),它是问题规模n的函数,用T(n)表示。
• 算法执行时间大致=原操作所需的时间xT(n)。所以T(n)与算法执行时间成正比。为此用T(n)表示算法的执行时间。
• 比较不同算法的T(n)大小得出算法执行时间到好坏
问题规模n用于表示求解问题大小的正整数,如n个记录排序。

算法的执行时间用时间复杂度来表示。
算法中执行时间T(n)是时间规模n方某个函数f(n),记作:T(n)=O(f(n))
记号“O”读作“大O”,它表示随问题规模n的增大算法执行时间的增长率和f(n)的增长率相同。
“O”的形式定义为:T(n)=O(f(n))表示存在一个正的常数M,使得当n≥n0时都满足:|T(n)|≤M|f(n)|
f(n)是T(n)的上界。
f(n)这种上界可能很多,通常取最接近的上界,即紧凑上界。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值