gpt4 book ai didi

multithreading - 检查序列是否排序的并行算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:48 24 4
gpt4 key购买 nike

我需要一个并行算法(成本最优)来检查给定的 n 个数字序列是否已排序。

最佳答案

对于 m 个线程,给每个线程一个 n/m 个连续数字的 block ,其中有 1 个数字重叠。在每个线程中,检查分配给它的序列是否按排序顺序排列。如果所有子序列都已排序,则整个序列已排序。

例子:

[1, 4, 5, 6, 11, 42] => [1, 4, 5, 6*] and [6, 11, 42] with 2 threads
[1, 4, 5, 6, 11, 42] => [1, 4, 5*], [5, 6, 11*] and [11, 42] with 3 threads

* 这是 1 的重叠。

这个解决方案的复杂度为 O(n/m)。

关于multithreading - 检查序列是否排序的并行算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com