selection-sort

    -2熱度

    2回答

    我正在嘗試做一個選擇排序,我正在瀏覽整數列表,選出最小的數字,然後將它換成更大的數字在前面的列表中。這段代碼只是用4個整數的短字符串來練習。我正在努力的是在整個列表中找到最小的數字,然後再繼續。我發現這個方法和它自己嵌套的for循環很相似,但是當我試圖交換整數時,我不能「記住」最小數字所在的索引(這將是註釋掉的代碼行,因爲它將不知道'j'是什麼)。如果我嘗試在for循環中執行此操作,那麼我會過早地

    1熱度

    3回答

    我發現選擇排序使用蠻力策略。不過,我認爲它使用貪婪策略。 爲什麼我認爲它使用貪婪:它在外循環和從i + 1到n-1從0到n-1。這真的很天真。它在每次迭代中選擇最小元素 - 它在本地選擇最佳元素。一切都喜歡貪婪,但事實並非如此。 你能解釋一下爲什麼我不這麼認爲嗎?關於這個問題的信息我還沒有在互聯網上找到。

    -2熱度

    4回答

    嘿,我試圖測試我的選擇排序算法,但我在控制檯中得到的所有輸出只是「[I @ 15db9742」 有人請解釋我爲什麼會收到垃圾郵件?這真的讓我感到莫名其妙,這可能是IDE的問題,還是代碼中的東西? 感謝 import java.util.Arrays; public class SelectionSorterTest { // Factories // Queries

    0熱度

    1回答

    交換位置和最小索引值。編寫選擇排序,利用swap和indexOfMinimum函數。這是一個問題,我的邏輯錯誤t know what,爲什麼我的代碼不能正確運行斷言聲明。 var swap = function(array, firstIndex, secondIndex) { var temp = array[firstIndex]; array[firstIndex] =

    0熱度

    1回答

    我正在處理任務,並且需要執行二分搜索。但不知何故,我認爲我的選擇排序有問題。這裏我有一個用戶定義的類叫做Record。它具有以下屬性: class Record{ String studentId; int assignment; int exam; int total; String grade; } 我有這些屬性的getters。現在有另

    0熱度

    1回答

    我正在嘗試查找數組中的最小元素。 我試圖與finding_smallest方法做到這一點如下: def finding_smallest arr_arg # first time returns 3; # second time returns 3 again, even though arr_arg doesn't have it. p arr_arg

    0熱度

    1回答

    def sortList(self, list): for i in range(len(list)): min = list[i] for j in range(i+1, len(list)): if list[j] < min: min = list[j] list[i] = min return list

    0熱度

    1回答

    因此,在此程序中,我要求每班學生的學生人數以及與其相關的年級。 myStudents [i]然後保存每個學生的名字和他們的成績。我現在遇到的問題是與我的兩個selectionSort。我應該按照等級來安排每個學生(從最高到最低),我認爲我在public static void selectionSort(student [] myStudents)中做了正確的操作,但是我不知道如何使用for循環打

    1熱度

    2回答

    下面是我的實現選擇排序的: package algorithm.selectionsort; public class SelectionSort { public static void main(String[] args) { int[] myArray = selectionSort(new int[] { 9, 9, 9, 8, 7, 73, 32, 109,

    2熱度

    1回答

    爲O(n)的方法是合併兩個列表並進行平均中間的兩個元素。 但它可以進一步優化? 問題是否存在O(log n)解決方案?