mergesort

    1热度

    1回答

    我在追踪合并排序的过程中有点困难...... 从概念上讲,我明白一个未排序的数组将被分割,直到它的子数组的子数组变成1的长度,其中它变成一个数组,每个数组包含1个元素,据说这是排序的。 发言权的一个未排序的阵列上使用 mergeSort(A,p,r) //where p = lowest index, r = highest if (p < r) { q = (p+r)/2

    2热度

    1回答

    为O(n)的方法是合并两个列表并进行平均中间的两个元素。 但它可以进一步优化? 问题是否存在O(log n)解决方案?

    0热度

    1回答

    我正在研究Leetcode的其中一个问题(问题21)。它要求我合并两个已排序的链接列表,并将其作为新列表返回,并提供这样的预先输入的代码。 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None

    0热度

    1回答

    我一直在尝试实现合并排序;但实现方式不正确 - 输出包含的值不是原始数组的一部分。我试着将它与其他人的实现(工作)进行比较,但似乎无法找到错误。 的代码是: - #include <iostream> using namespace std; void Merge (int A[], int lo, int hi, int mid){ int i = lo; int k

    0热度

    1回答

    我遇到了以下java类的问题。排序算法的工作原理是,但每次返回时都会返回一个空数组(“合并”方法中的返回值)。我试图用大量的System.out.println()输出检查算法以找出错误,但它看起来像算法的工作。只有最后一个返回会清除已排序的数组并返回一个空数组。我不知道为什么,也不知道如何解决这个问题。 会很好,如果任何人都可以看看并给出提示。 :) public final class Tes

    -1热度

    1回答

    v1<-c(1,1,1,1,1,2,2,2,3,3,3,3,3,3,3) v2<-c("Jan","Jan","Jan","Feb","Feb","Jan","Jan","Feb","Jan","Jan","Feb","Feb","Feb","Feb","Feb") v3<-c("A1","E1","F1","B1","A1","E1","B1","C1","B1","D1","E1","A1

    1热度

    1回答

    我已经在MIT计划中实现了我自己的合并排序。我想测试它与内建的merge-sort并比较时间;但是,我不知道如何获得两者的运行时间。当我测试多达100万个元素时,你如何增加堆栈大小/递归深度。

    0热度

    1回答

    这是实现合并排序我的代码,它显示没有错误可言 并没有给出输出两种: #include<iostream> using namespace std; void merge(int arr[],int l,int m,int r) { int i,j,k; int n1 = m-l+1; int n2 = r-m; int L[n1],R[n2];

    0热度

    1回答

    好的。我有一个标准的mergesort类。 public class Merge extends SortAlgorithm { public static void sort(Comparable[] a) { Comparable[] aux = new Comparable[a.length]; sort(a, aux, 0, a.length -1); } p

    0热度

    1回答

    这里是我的代码: void mergeHelper(Queue<T> input1, Queue<T> input2, Queue<T> output) { // TODO 4 if(!input1.isEmpty()) { T ip1 = input1.dequeue(); if(!input2.isEmpty())