quicksort

    -1熱度

    1回答

    public static void quickSort(Integer[] arr, int low, int high) { //check for empty or null array if (arr == null || arr.length == 0){ return; } if (low >= high){

    0熱度

    1回答

    我有這樣的僞代碼,我想分析的時間該算法的複雜性,但我不知道這件事 Proc Sort(A,l,r) if(r-l+1<4) then Quicksort(A,l,r) else Sort(A,l,r-3) Sort(A,l+3,r) 所以我知道,如果一個數組的元素小於4,我們通過它通過快速排序否則我們將數組的大小減小三個,然後傳遞左邊和右邊的部分因此,

    0熱度

    2回答

    我必須在鏈接列表上創建一個快速排序(在C中)。 我有我的第一個和最後一個指針的樞軸(在這個代碼中它是列表的第一個元素)。 我該結構的使用方法: typedef struct list_element list_element; struct list_element { char *password; int count; list_element* next;

    0熱度

    1回答

    我正在使用遞歸和過濾器進行快速排序,但遞歸無法正常工作。 它返回列表的前半部分,排序+額外(從上一次遞歸的樞軸和列表的後半部分),但列表的後半部分消失。 這是我的代碼。 const { List } = require('immutable') const quicksort = function(list) { if (list.size <= 1) {

    2熱度

    1回答

    什麼信號表示程序說:「好,第一次遞歸quickSort調用完成;繼續第二次遞歸調用」? int partition (int arr[], int low, int high) { int pivot = arr[high]; // pivot int i = (low - 1); // Index of smaller element for (int j =

    -2熱度

    1回答

    我需要幫助這個代碼寫入僞 public void quickSort(int[] A, int p, int r) { if (p < r) { int q = partition(A, p, r); quickSort(A, p, q); quickSort(A, q + 1, r); } } private int partitio

    1熱度

    1回答

    我正在寫一個Web應用程序,詢問用戶一系列只是兩個值的主觀比較的問題。他們挑選更大的一個,並提出排序所需的下一個比較。目標是對58個項目進行排序,並顯示有序列表。 我想使用QuickSort,因爲80%的時間需要比合並排序更少的比較,這需要342次比較。 (我寫了一個程序,它運行了5,000,000個對58個項目數組進行排序的模擬,並發現342是QS所需比較次數的第80個百分位)。由於這是在Jav

    1熱度

    1回答

    我試圖追溯這一快速排序算法: https://pythonschool.net/data-structures-algorithms/quicksort/ 但有不同的組數字 - [6,2,8,4,3,7,10] 我沒事,一旦算法的左側是排序的,但我不明白遞歸類。 一旦左側完成,start = 0和end = 0,以下行運行: quicksort(myList, pivot+1, end) 當我

    1熱度

    3回答

    爲了通過練習學習python,我試圖用python實現並測試出快速排序算法。 實現本身並不困難,那種然而,結果是有點令人費解: 當我一個列表排序, [ '35', '-1', '-2',' -7' , '-8', '3', '-4', '20', '-6', '53'] 結果給我 [ '-1', '-2','-3','-4','-6','-7','-8','20','35','53'] 因此, s

    1熱度

    1回答

    我正在嘗試在我的快速排序算法中實現遞歸和列表理解。但我無法看到任何輸出。我可以請求幫助,我應該添加哪些線路來查看輸出。我的邏輯似乎是正確的,反饋是讚賞。 def partition_list(A): n = len(A) m = A[n - 1] #print m A_left = [x for x in A if x <= m] A_right