【发布时间】:2018-04-29 15:13:24
【问题描述】:
冒泡排序的计算复杂度为 O(n^2)。那么如果我们有例如 CPU 3.5 GHz,这些计算是真的吗? 1 000 000 * 1 000 000 =10^12 3.5 GHz 每个麦克风约 6 000 000 个(我想是的,如果这不是真的,请纠正我)
(10^12/6 * 10^6)/60=~2777 小时 这是真的吗?
【问题讨论】:
-
它可能是也可能不是。这一切都取决于您从哪里获得 600 万,输入数据如何,Mike 是谁等。
-
它还取决于所使用的编程语言、整体系统负载、短、长或长整数等。
-
我用的是c++,4字节int,数据来自rand(),只是想知道处理器会完成多少计算。我在另一个主题中找到了这个值。
-
尝试做 5,000,然后 10,000,然后 20,000,并注意时间模式。
-
您可以合理使用的唯一方法是基准测试、基准测试、基准测试。现代 CPU 过于复杂,无法根据时钟频率进行估算
标签: algorithm sorting math time-complexity bubble-sort