数据结构确定语句的频度以及时间复杂度(C语言)

(这是根据作业总结的,有错误帮我更一下哈)

语句频次及时间复杂度

要计算 算法的时间复杂度 ,先要掌握什么是算法的频度
算法频度就是基本操作执行次数的总和 (f(n) n是执行问题的规模 )
再对整个算法的频次进行以下操作:

  1. 去掉常数项
  2. 只保留最高阶项

这就是时间复杂度 T(n) ,有时用O(f(n))表示

先说我在做题时遇到的问题:

  1. do while 或 while 循环语句中将判断条件计入循环频次
  2. 认为do while 语句比 while 多执行一次
  3. 错误的认为if else 两个语句,实际上是一个
  4. 要记得执行次数需要[取整]但是时间复杂度不需要

解答

  1. 老师的解答要记住鸭

“考虑算法复杂度时,最主要考虑的是需要重复多次的操作;一个while的判断句和while里面的操作执行频次是一样的;因此在利用大O数量级进行计算时,可以只主要考虑while里面的循环频次”

  1. do while 和 while两个语句执行次数相同
常见的特殊例子(记下来)

1.嵌套循环 2层循环

k=0;
for (i=1;i<n;i++) //n次
{
   
    for (j 
  • 26
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值