时间复杂度nlogn怎么算得的啊,不太了解,可以举例子吗,额怎么还要求那么多字,额额。
nlogn常用在二分法,举个例子2的倍数依次相乘
int sum=1;
while(sum<n){
sum=sum*2;
}
算T(n),利用数学,sum算了多少步到n,2^步数=n,所以步数=logn,时间复杂度为O(nlogn)
算法时间复杂度是根据算法运行循环的次数决定的,我举个例子
for(int i; i < n; i++) {
// ****
}
上面代码的算法时间复杂度就是O(n),至于O(nlogn),则是类似于这样的算法
for(int i; i < n; i++) {
// 省略实际的逻辑代码
while(n) {
// 省略实际的逻辑代码
}
}