gpt4 book ai didi

java - 多线程搜索单个集合中的重复项

转载 作者:行者123 更新时间:2023-11-30 05:53:50 25 4
gpt4 key购买 nike

使用我不能分成segads。至于我上面的例子,如果设置了 5 个线程,那么第一个段将采用 2 个第一个对象,然后是第二个、第三个和第四个,所以它们不会找到重复项,但是如果我们合并它们,就会有重复项,即第二个和第三个。

第一个线程可能有更复杂的策略......啊没关系,很难解释。

当然,问题本身也在我的计划中。

你好编辑:

InChunk,然后继续分析该 block 直到结束。 ;/

最佳答案

我认为划分要删除重复项的项目的过程将不得不查看该部分的末尾并向前移动以包含过去的重复项。例如,如果您有:

1  1  2 . 2  4  4 . 5  5  6

然后你分成 3 个 block ,然后分割过程需要 1 1 2 但看到还有另一个 2 所以它会生成 1 1 2 2 作为第一个 block 。它会再次向前移动 3 并生成 4 4 5,但看到有重复向前并生成 4 4 5 5。第三个线程只有 6。它将变成:

1  1  2  2 . 4  4  5  5 . 6

block 的大小将不一致,但随着整个列表中项目的数量变大,这些小的变化将变得微不足道。最后一个线程可能几乎没有什么可做的,也可能完全没有改变,但同样,随着元素数量变大,这应该不会影响算法的性能。

我认为这种方法比让一个线程以某种方式处理重叠 block 要好。使用这种方法,如果你有很多重复项,如果你在重复项的定位上不走运,你会发现它必须处理超过 2 个连续的 block 。例如:

1  1  2 . 2  4  5 . 5  5  6

由于 2 和 5,一个线程必须处理整个列表。

关于java - 多线程搜索单个集合中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162677/

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