- C++
备战CSP-J初赛21天打卡计划。DAY10-算法复杂度分析1
- 2024-9-7 9:39:03 @
for(int i = 1; i <= 100; i++){
sum += i;
}
for(int i = 1; i <= n; i++){
sum += i;
}
for(int i = 1; i <= n; i *= 2){
cnt++;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j *= 2){
cnt++;
}
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
cnt++;
}
}
其实冒泡排序的时间复杂度也是O(n^2),以下代码中,当i=1时,执行n-1次,i=2时,执行n-2次......因此总的执行次数也就是 (n-1)+(n-2)...+2+1就是n*(n-1)/2,显然n^2的量级更大,因此常数项和n/2可以忽略,时间复杂度即为O(n^2):
for(int i =1; i<=n; i++){
for(int j=1; j<=n-i; j++){
if(a[j] > a[j+1])
swap(a[j], a[j+1]);
}
}
📜历年真题
第一题:阅读程序
- 第一空(3分): [ ]
- 第二空(3分):[ ]
- 第三空(2分):[ ]
- 第四空(3分):[ ]
- 第五空(3分):[ ]
第二题:
第三题:
第四题:
第五题:
常见算法的时间复杂度
0 条评论
目前还没有评论...