C 元素素数的合并排序?
据我所知,在合并排序中,我们必须将元素分成若干组。 但若数是素数,那个么除法怎么可能呢?我们把他们分成不平等的群体吗?C 元素素数的合并排序?,c,sorting,python-2.7,mergesort,C,Sorting,Python 2.7,Mergesort,据我所知,在合并排序中,我们必须将元素分成若干组。 但若数是素数,那个么除法怎么可能呢?我们把他们分成不平等的群体吗? 如果您要展示一个实现,请用C或Python来实现。假设有2k+1,它将被分成两部分,k和k+1元素不一定是均匀划分的,但让每个组拥有尽可能少的元素将获得最小的总体复杂度 这是m路合并排序的一般原则,其中m表示您将拥有的组数。合并排序不要求您将列表拆分为大小相同的组。在任何正确编写的合并代码中,如果组的大小稍有不同,这一点都不重要 您通常希望它们接近相同的大小(以平均分配工作,降
如果您要展示一个实现,请用C或Python来实现。假设有2k+1,它将被分成两部分,k和k+1元素不一定是均匀划分的,但让每个组拥有尽可能少的元素将获得最小的总体复杂度
这是m路合并排序的一般原则,其中m表示您将拥有的组数。合并排序不要求您将列表拆分为大小相同的组。在任何正确编写的合并代码中,如果组的大小稍有不同,这一点都不重要
您通常希望它们接近相同的大小(以平均分配工作,降低排序的复杂性),但即使这样也不是严格必要的。即使将长度为N的序列分为长度为1和长度为(N-1)的子序列,基本的合并排序算法也会起作用(尽管性能会很差)。“给我源代码”问题不是我们在这里要做的。看看自由职业者。或者,如果您有理论问题,请查看programmers.stackexchange或类似工具。我不确定您的意思。假设你有一组17个元素。您仍然可以将该数字除以5,从而创建4个组:17/5=3组5个元素加1组2个元素。我没有要求实现。我说的是,如果你用Java或其他语言解释它,我将无法理解。幸运的是,不需要特定的语言来帮助。对不起,如果我违反了“你的”规则。