数出集合版的比较次数
补全 set_ops:改用集合判重,每条只算一次。同样算 100 条。 (本题用 g++ -std=c++17 -O0 编译。)
出一份对比数据
补全 report:返回一份对比结果,格式是「数组版次数/集合版次数/倍数」(用 / 隔开,倍数用整除)。算 100 条的情况。 (本题用 g++ -std=c++17 -O0 编译。)
给代码计时该用哪个时钟
C++ 里给一段代码计时,最该用的时钟是【0】。
为什么要取中位数
第 1 步:同一段代码测 5 次 第 2 步:有一次被别的程序拖慢了 第 3 步:排序中…… 第 4 步:排序中…… 第 5 步:排序中…… 第 6 步:排序中…… 第 7 步:排好后取正中间那个 12 9 30 11 10 同一段代码测了
-O2 为什么通常更快
同一份代码用 -O2 编出来的程序通常比 -O0 快,是因为【0】。
1500 毫秒换算成秒
运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <
两段时长加起来
运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <
取几次计时的中位数
补全 median:把几次计时(毫秒)排好序,返回正中间那个(次数是奇数)。输出 {12, 9, 30, 11, 10} 的中位数。 (本题用 g++ -std=c++17 -O0 编译。)
纳秒换算成毫秒
补全 to_ms:计时拿到的是纳秒数,用 duration_cast 换算成毫秒(零头截掉)。输出 1234567 纳秒是几毫秒。 (本题用 g++ -std=c++17 -O0 编译。)
C++ 版也数操作次数
C++ 快得多,可复杂度不会因此改变。补全 ratio_of,输出 1000 条数据时数组判重和集合判重的操作次数之比(整除)。 (本题用 g++ -std=c++17 -O0 编译。)