quicksort

    0热度

    1回答

    我遇到问题,我的快速排序功能不断重新诅咒三个功能的最佳。我不知道它为什么这样做,我需要帮助。我在努力实践这对于我的编码类下学期,这是从去年开始的任务,我的朋友有和IM当谈到这个错误 失去这是我的快速排序功能之一: def quick_sort (alist, function ): if len(alist) <= 1: return alist + [] pivo

    1热度

    1回答

    这是我实现快速排序的: int choosePivotIndex(int l, int r) { return l + rand() % (r + 1 - l); } void swap(int a[], int l, int r) { int tmp = a[l]; a[l] = a[r]; a[r] = tmp; } int partit

    -5热度

    1回答

    我看了一个关于快速排序的视频,但我不明白的代码: public static void main(String[] args){ int[] array = { 1, 2, 3, 4, 5 }; int left = 0; int right = array.length - 1; for (left = 0; left < right; left++,

    1热度

    1回答

    我想在C中实现递归快速排序,通过使用按位异或操作进行所有交换。这里是我有这么远: //bitwise recursive quicksort void quicksort(int *int_array,int p, int r){ if(p<r){ int q = part(int_array, p, r); quicksort(int_array,p, q

    0热度

    1回答

    我正在学习关于java中的线程,我试图使用两个线程在一个数组上运行QuickSort,但没有按预期工作。这个想法是在数组的分区后在第一部分上运行一个线程,而第二个线程将在另一部分上运行。我假设使用两个并行运行的线程可以提高性能,但事实并非如此。经过多次测试后,使用这两个线程比普通的原始快速排序要差一些。 我不知道什么似乎是问题。

    0热度

    2回答

    我一直在使用排序算法,我发现快速排序无法正确使用交换功能没有临时变量。我附上了下面的代码。你可以在swift操场上执行这个代码,它的编写速度很快。 This is the link to execute this code online. 请让我知道你需要的任何其他信息来解决这个问题。如果有人能解释这一点,我会很感激。 注 - 我已经在交换功能中评论了两个有点代码。一个没有临时变量,另一个是临时变

    -2热度

    1回答

    我正在尝试使用三个算法的中位数来实现快速排序,并且它失败了我写入的与小分区相关的单元测试。我改变了我以前的分区,现在它传递用于失败的试验之一,但仍然失败的一个在底部: 我的代码是: public class QuickSort { static void swap(int[] A, int i, int j) { int tmp = A[i]; A[i] = A

    0热度

    2回答

    我试图找到两个不同大小的排序阵列的中位数。但是有一些情况不起作用,我无法弄清楚为什么。我已经在下面列出了我的实现。 我知道网上有类似的解决方案。但是我刚刚开始学习算法,所以我想尽可能多地去做。提前感谢您的帮助! public double median(Point[] arr, int start, int end) { int n = end - start + 1; if

    1热度

    1回答

    我似乎对正确实施快速排序有点困惑。 如果我想查找QuickSort的所有主轴值,我该在什么时候停止分割子阵列? QuickSort(A,p,r): if p < r: q = Partition(A,p,r) Quicksort(A,p,q-1) Quicksort(A,q+1,r) Partition(A,p,r): x = A[r]

    3热度

    2回答

    def quicksort(mas): if mas: mid = mas[0] menshe = [i for i in mas[1:] if i < mid] bolshe = [i for i in mas[1:] if i >= mid] return quicksort(menshe) + [mid] + quicksort(bo