算法复杂度,本机1s用例测试

本机配置:MacBookPro 2019

CPU: 2.4GHz 四核 Intel Core i5

第一个用例:时间复杂度O(n)

// O(n)
void function1(long long n) {
    long long k = 0;
    for (long long i = 0; i < n; i++) {
        k++;
    }
}

输入n:800000000

耗时:1064 ms

电脑运行1s能跑,n大概是8亿数量级

 

第二个用例:时间复杂度:O(n^2)

// O(n^2)
void function2(long long n) {
    long long k = 0;
    for (long long i = 0; i < n; i++) {
        for (long j = 0; j < n; j++) {
            k++;
        }
    }
}

 输入n:28000

耗时:1042 ms

电脑运行1s,数量级大概是3万

 

第三个用例:时间复杂度O(nlogn)

// 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 = j*2) { // 注意这里j=1
            k++;
        }
    }
}

输入n:30000000
耗时:1098 ms

 电脑运行1s,数量级大概是3千万

 

posted @ 2022-10-19 10:08  何侠客  阅读(117)  评论(0编辑  收藏  举报