例如,假设有32个数字(未排序,范围未知)和8个CPU,每个计算每分钟一次比较。
如果只有一个CPU,则需要进行31次比较。 但是对于8个CPU,我们可以每分钟比较16个数字。
计算最大数量所需的最短时间(以分钟为单位)是多少? (我的工作时间大约是6分钟,但我认为可以在5级完成,不确定算法是如何工作的。)
答案 0 :(得分:3)
1) 32 numbers -> compare 8 pairs using 8 CPUs -> 24 numbers
2) 24 numbers -> compare 8 pairs using 8 CPUs -> 16 numbers
3) 16 numbers -> compare 8 pairs using 8 CPUs -> 8 numbers
4) 8 numbers -> compare 4 pairs using 4 CPUs -> 4 numbers
5) 4 numbers -> compare all numbers with each other using 6 CPUs (tetrahedron)
答案 1 :(得分:2)
(编辑)的 前4个步骤很容易
比较4对 - > 4位获奖者
假设4个数字为a, b, c, d
答案 2 :(得分:0)
把它想象成一个NCAA Bracket,让每个核心处理游戏/分钟。投入最后4个四面体逻辑,你可以节省1分钟。