gpt4 book ai didi

用于切片列表的Java算法

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

我正在尝试将列表(称为此输入列表,它包含 Java double 据类型元素)分成多个部分(子列表)。子列表的大小可以有少量不等。每个部分(子列表)都作为另一个程序的输入。输入列表的大小是一个变量,最大大小为 10,000,即它可以小到 1 或 2 或 3,大到 100 或 10000 或 10000 以下的任何数字。

将这样的列表分成多个部分的最佳方法是什么?在为 shell 排序设计间隙时,我一直在考虑 Donald Knuth 的 3h+1 分布。但是,我不确定这是否合适。感谢你的帮助。

谢谢!

最佳答案

为了扩展 M 的最优值的答案,

假设有一些成本函数 C 与处理大小为 M 的列表相关联。

然后你要最小化函数

总成本 = M * C(N/M) + 开销

其中开销是拆分列表的成本。

我认为对于大多数应用来说,不同的 M 值不会有太大差异,因此没有必要将其拆分。

它会很有用的情况是如果你有多个处理器,那么你可以将子列表交给不同的处理器。在这种情况下,成本函数更像是

如果 M < 处理器数量,则 TotalCost = C(N/M) + 开销

所以你应该选择接近但小于处理器数量的M。

关于用于切片列表的Java算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584769/

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