锅炉码码 2022-03-21 14:37 采纳率: 66.7%
浏览 132
已结题

设n为3的倍数 分析以下算法的时间复杂度

void fun (int n)
{int i,j,x,y;
for(i=1,i<=n;i++)
if(3i<=n)
for(j=3i;j<=n;j++)
{x++;
y=3x+2;

请求大家指点一下,我真的不知道怎么求时间复杂度😭

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-03-21 15:04
    关注

    https://blog.csdn.net/weixin_43736974/article/details/103651206
    求代码执行次数
    也就是
    if(3i<=n)
    x++;
    y=3x+2;
    这几句代码
    你这里求出来应该是n+n^2/3 *2,就是n+1/3n^2*2,约掉2/3,去掉n,那也就是O(n^2)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月21日