quicksort

    0熱度

    2回答

    我目前正在練習quicksort,它現在工作得很好。但我可以找到一個失敗的例子(因爲它似乎是一個特例,我還沒有讀過它,這就是爲什麼我做錯了......不能解決它)。問題是,我想是因爲我選擇最小的元素作爲主元: 9 1 4 2 7 *0* (star mark means pivotelement) 現在我設定i,j哪裏i將通過陣列(右移),直到它發現它比主元以上的元素。並且j將通過Array(

    4熱度

    1回答

    我想實現快速排序算法中Cormey描述選擇支點作爲最右邊的元素等,算法導論: 這裏是我的Python實現: def partition(A, p, r): pivot = A[r] i = p - 1 for j in range(p, r-1): if A[j] < pivot: i += 1 A[i], A[j] = A[j

    0熱度

    1回答

    我在做一個在線課程有以下選擇題: ,其中隨機選擇算法(基於快速排序)描述如下: 由於所有的多項選項都是線性函數a(我的意思是希臘字母alpha),所以我試圖通過考慮極限情況一個 = 0.5和通過消除判斷出正確答案一個 = 1 現在,如果一個 = 1,我們正在尋找「的概率是第一次迭代後的大小子陣列,其中你正在尋找的元素是原始數組」的大小< = 1次。在我看來,這總是正確的,因爲一次迭代總是減少問題的

    0熱度

    1回答

    我已經實現了這個快速排序,但我似乎有錯誤,我不能修復,有人會介意快速看看它嗎? 我給出的例子的輸出接近答案,但一些指數錯位。 def partition(array, pivot, start, end): # move pivot to the end temp = array[pivot] array[pivot] = array[end] array

    0熱度

    3回答

    我正在嘗試執行快速排序使用分而治之技術。我得到的遞歸一個堆棧溢出錯誤調用。這裏是我的代碼: public static void main(String[] args) { ArrayList<Integer> unsorted = new ArrayList<Integer>(); unsorted.add(23); unsorted.add(5); u

    1熱度

    1回答

    快速排序與霍爾的分區 // Hoare's partitioning scheme func PartitionHoare(arr []int, low, high int) int { length := len(arr) if length == 0 { panic("Array size is 0") } pivot := arr[l

    -2熱度

    1回答

    我將QuickSort的當前實現設置爲數組中的最後一個元素,導致堆棧溢出異常。將它設置爲中間元素,或者最左邊,可以正常工作,但不是正確的。我真的想明白爲什麼。 我目前正在學習數據結構和算法,我真的很想了解算法如何工作的複雜性。我試過了下面的問題,但遞歸正在殺死我。 基本上我將我的透視設置爲數組中的最後一個元素,並找到所有小於透視並增加左邊以成爲牆。所有更大的元素都交換到正確的位置。 這裏是我的解決

    0熱度

    2回答

    我非常困惑。 一個測驗題是「真或假,快速排序實現在算法的征服階段排序」因爲我記得讀我選擇了正確的: 三個步驟快速排序如下: 除法:重新排列元素並將數組拆分爲兩個子數組和中間元素,以便左側子數組中的每個元素小於或等於中間元素,並且右側子數組中的每個元素都大於中間元素。 征服:對兩個子陣列進行遞歸排序。 組合:無。 然而,答案的猜謎說,答案是沒有任何解釋假... 由於文字書說,快速排序如下分而治之算法

    0熱度

    1回答

    我想編寫一個快速排序程序在c中,我的遞歸函數是在一個無限循環。 的問題是: 您已被給定的陣列大小的 甲 N.This數組包含整數範圍從 1至 10^9。你需要按照它們的值對這個數組的內容進行排序,然後打印它的內容。 輸入格式: 第一行包含一個單一的整數N,表示該數組的大小。下一行包含N個空格分隔的整數,表示數組的內容。 輸出格式: 打印傳單N空間分隔的整數,即,最終排序陣列。 約束: 1≤N≤10

    0熱度

    2回答

    我在整數數組上使用快速排序算法時遇到了一些問題,同時在排序過程中移動元素時保存了元素的原始索引。使用C#/視覺工作室 例如 ToSort陣列{52,05,08,66,02,10} 索引:0 1 2 3 4 5 AfterSort陣列{02,05,08,10 ,52,66} 索引:4 1 2 5 0 3 我需要將排序值的索引保存在另一個數組中。 我覺得這是非常複雜的,因爲快速排序是遞歸的,任何幫助或