C语言,下面程序段的时间复杂度是多少?

如题所述

是O(log3(n))。
分析:
第1次循环进入后i=3(3^1),
第2次循环进入后i=9(3^2),
...
假设第k次循环是最后一次循环,则进入后i=3^k,同时有3^k等于n,所以k=log3(n),时间复杂度为O(log3(n))(即以3为底,n的对数)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-28
此题运行时间取决于n的大小,计作:T(n) = n

时间复杂度为:O(n)

定义:
若存在函数 f(n),使得当n趋近于无穷大时,T(n)/ f(n)的极限值为不等于零的常数,则称 f(n)是T(n)的同数量级函数。
记作 T(n)= O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。本回答被网友采纳
相似回答