我也只是在某本书上看到了就浅浅拿C语言做个测试计算机的运行速度
计算机的运算速度取决于CPU的配置
1GHz = 1000MHz
1MHz=1 000 000 Hz
计算机上每个程序都在运算,算法是提高程序的效率
程序的性能分析有2个维度:1.时间复杂度
2.空间复杂度
实现3个函数,时间复杂度分别是:O(n),O(n^2),O(nlogn)
#include <stdio.h>
#include <time.h>
// O(n)
void function1(long long n) {
long long k = 0;
for (long long i = 0; i < n; i++) {
k++;
}
}
// o(n^2)
void function2(long long n) {
long long k = 0;
for (long long i = 0; i < n; i++) {
for (long long j = 0; j < n; j++) {
k++;
}
}
}
// O(nlogn)
void function3(long long n) {
long long k = 0;
for (long long i = 0; i < n; i++) {
for (long long j = 1; j < n; j *= 2) {
k++;
}
}
}
int main() {
long long n;
while (1) {
printf("请输入n: ");
scanf("%lld", &n);
clock_t start_time = clock();
//要测试哪个就把哪个前面注释删掉
function1(n);
//function2(n);
//function3(n);
clock_t end_time = clock();
printf("耗时: %lu ms\n", (end_time - start_time) * 1000 / CLOCKS_PER_SEC);
}
return 0;
}
就看个乐吧!
分别运行如下
10000000
O(n^2)
也许我CPU不是很好所以运算半天只能用数小的来测试
100000
最后一个