2021-06-09 04:33 采纳率: 0%
浏览 17

时间复杂度分析题,有没有高人帮帮忙的

给定以下两个算法:

算法A:

for(int i = 0; i < N; i++)

 

   for(int j = 0; j< N; j++)

 

    {

 

         S;

 

    }

算法B:

for(int i = 0; i < N; i++)

 

   for(int j = i; j< N; j++)

 

    {

 

         S;

 

    }

其中N是一个比较大的自然数,S是有若干基本语句组成的程序段。

1)在相同的计算机上,算法A比算法B运行速度慢?

2)算法A的时间复杂度比算法B要高?

请判断以上两个命题是否正确?并说明理由。

  • 写回答

1条回答 默认 最新

  • 游坦之 全栈领域优质创作者 2022-09-08 18:06
    关注

    1)正确,因为i递增,那么第二次循环的次数就减少
    2)两个的时间复杂度一样,时间复杂度看的是最差的情况下,所以两者的时间复杂度都未O(n2)
    有用记得采纳呀!

    评论

报告相同问题?

悬赏问题

  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题