这几个的时间复杂度怎么算

如题所述

看循环的次数,比如for(k=1;k<=n;k*=2) {for(j=1;j<=n;j++)....} 这种嵌套循环;首先第一个 k=1时候如果小于每次都是乘以2然后与n进行比较,那反过来只要进行log(2)n次,因为求的就是2的多少次方等于或者大于n,第二个的话就是1一直到n然后就是n。然后这个又是嵌套循环所以相乘就好了,这个时间复杂度度就是o(nlog(2)n)。这种主要是理解每一层循环的次数,然后嵌套就相乘,不是嵌套就取最大的那个循环。追问

能不能给我答案这几题

温馨提示:答案为网友推荐,仅供参考
相似回答