asdasdasdsc
2021-03-03 20:00
采纳率: 85%
浏览 478

想问下最大语句频度和时间复杂度到底是怎么算的呢(数据结构刚入门)例如这题

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • ProfSnail 2021-03-04 21:31
    已采纳

    第一次i = 1

    第二次i = 2

    第三次i = 4

    第四次i = 8

    ……

    第k次 i = 2^k

    第多少次就结束循环了呢,也就是第log2(n)的时候就结束循环了。

    所以最大语句频度是log2(n),时间复杂度为O(log2(n))。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 爱晚乏客游 2021-03-04 10:01

    频度就是执行了多少次,时间复杂度只是估计,比如两个频度为n的语句嵌套的话(比如两个for循环),时间复杂度就是n*n。

    回到题目,你这题的最大语句频度是while(i<=n)这句话执行出来的,n/2向上取整,时间复杂度为O(n)

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题