mergesort

    -3热度

    1回答

    我写了一个归并排序算法中的,但跟随在编译它,我得到如下,其中规定 表达:向量下标越界 我不明白为什么我收到此错误, PLZ指出了错误,我已经基于我对mergesort算法的理解编码了这个算法 根据我的理解,我编写了一个递归函数(mergesort),其中每次所讨论的数组分为两部分即左,右,然后将左右数组进一步细分,直到只有1个元素p的点一旦这个阶段到达,就会在子数组中重新发送合并函数,以便对分区数

    2热度

    2回答

    使用合并排序算法将每个长度为n的n个字符串列表按字典顺序排序。这种计算的最坏情况下运行时间是? 我搜索了这个问题,到处都找到了答案:O(n logn)。 虽然我的方法如下: 比较两个字符串需要O(n)的比较,因此每个合并将采取为O(n )时间。 所以,递推方程将是: T(N)= 2T(N/2)+ O(N ) 因此,通过主方法: T(N)= O(N )。 纠正我错在哪里。

    0热度

    1回答

    我正在做一个在Ruby中编写递归合并排序算法的任务。我试图一件一件地将其打破,以便能够围绕它环绕我的头部。到目前为止,我试图完成“分割”步骤,直到每个阵列中只剩下一个元素。 a = [5, 2, 4, 6, 1, 7, 3, 8] def divide(arr) return arr if arr.length < 2 else arr1 = puts divi

    1热度

    1回答

    练习mergeSort时遇到问题。我在线程“main”中接收异常java.lang.ArrayIndexOutOfBoundsException:1 mergeSort部分工作得很好,但重组数组对我来说很困难。任何援助将不胜感激。 public class MyMergeSort { public static void main(String[] args) { // T

    1热度

    2回答

    我有以下合并排序算法,当我使用100,1000或10000长链接列表进行测试时工作。但是,使用100000或1000000个长链接列表时,它会在包含Node->Next=Merge(Front,Back->Next,Type);的行上返回分段错误。这使我相信这是一个堆栈溢出而不是分段错误。根据错误发生时的gdb,堆栈非常满。我无法找到一种方法来确切地调查调用堆栈中有多少物品以提供确切数字。任何帮助

    0热度

    1回答

    我知道快速排序算法,但我只关心合并排序算法。 我在互联网上发现了两种类型的合并排序算法实现。 但是,当我将它们与插入算法进行比较时,它们看起来效率较低,并且这对于大量项目来说不是预期的。 Enter the number of elements you want to sort: 300000 Time spent to executing BubbleSort: 362123 millis

    0热度

    1回答

    这里是我的代码(蟒蛇2.7): def merge_sort(a_list): print ("Splitting ", a_list) if len(a_list) > 1: mid = len(a_list) // 2 left_half = a_list[:mid] #print left_half right_half =

    1热度

    1回答

    因此,我有两个数组由双数组成,它们是排序的。 我想最有效地将这些组合到一个数组中,并将这个数组排序。 我的第一个念头是,也许你可以简单地加入他们一起,然后就可以使用快速排序,但这不会是有效的。那么也许使用合并排序?然而,我对如何在C中实现合并排序有什么想法吗? 我正在使用来自其中一个答案的代码尝试合并排序。我还没有将它用于自己的方法,在我将它运用到工作之后会做到这一点。 double partit

    0热度

    1回答

    有归并排序我见过的许多实现,但是,我想写一个从合并排序的算法定义直译: 拆分阵列,直到剩下1个元素 将它们合并在一起。 但是我有点卡住了。这是我的代码,直到现在, class MergeSort: def __init__(self): bucket = [] def _sort(self, arr): if len(arr) == 1:

    0热度

    1回答

    当我在进行合并排序时,发现发生了一些奇怪的事情,我不知道为什么。由于我对Kotlin不太熟悉,我不知道问题是否是我的逻辑或Kotlin语法。需要帮忙。 这是代码。此版本的作品。 fun runMergeSort(anArray:IntArray,n:Int){ mergeSort(anArray,0,n-1) } fun mergeSort(intArray: IntArray,l