gpt4 book ai didi

algorithm - 在未排序数组中搜索元素的最快方法

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

我今天刚碰到这个问题,正在尝试一种比 O(N) 更好的解决方案,但无法想出一个。

通过 SO 搜索但找不到这个问题。

有没有比 O(n) 更好的解决方案,或者是一个无法比它更好解决的问题?

我最初的想法是二分查找,但同样你需要对它进行排序,这又是 >n。我还考虑过仅对搜索元素可能所属的数组的一半应用快速排序,但同样我们最初进行了 n 次比较,稍后才丢弃另一半。我做对了吗?还是我在错误的方向看待解决方案?

我正在尝试使用 C++ 解决方案,但没有使用 JavaScript 的 IndexOf() 或 C# Array.find() 或 LINQ。

最佳答案

使其平行。将数组分成 block 并并行搜索。复杂度为 O(n),但运行时间会少得多。实际上它会与否成正比。您拥有的处理器数量。

您可以使用 Parallel Patterns Library在 C++ 中

关于algorithm - 在未排序数组中搜索元素的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7656791/

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