median-of-medians

    0熱度

    1回答

    我想找到沒有排序的列表中位數約約中位數,我知道兩算法 算法1 quickselect 算法的2-位數的中位數 我不能使用快速選擇我的項目,因爲它在最壞的情況下需要O(n^2)。 我聽說過中位數的中位數,但是我的同事們建議它用一些常數因子來處理O(n)。因此它的時間複雜度是Cn,常數因子與快速選擇相比是大的。我想知道與中位數中位數相關的常數因子是什麼?以及爲什麼中位數中位數不使用9位元的中位數? 還

    0熱度

    1回答

    我有一個未排序陣列大小Ñ的和我需要找到k-1個除數所以每子集是相同的尺寸(如數組進行排序之後) 。 我看過這個問題k-1 = 3。我想我需要中位數的中位數,這將需要o(n)。但我認爲我們應該這樣做k次所以o(nk)。 我想了解爲什麼需要o(n logk)。 例如:我有一個整數未排序的數組,我想要找到第k個整數,將數組按照它們的值拆分成k個(相同大小)子排列的第n個整數。 如果我有[1, 13, 6

    0熱度

    1回答

    的我知道線性選擇(中位數算法的中位數)復發公式如下: T(n) <= an + T(n/5) + T(7n/10) 但是,在將這些術語從何而來?我一直在努力去理解,但我非常困惑。任何人都可以擺脫一些光?

    2熱度

    1回答

    我使用Medians Medians實現了第n個數字選擇算法。 在wikipedia,它聲明它的空間複雜度是O(1) 我不得不將中位數存儲在一個臨時數組中以便在這些中位數之間找到中位數。你如何能夠做到這一點,而不使用任何額外的內存?如果不算增加其空間複雜性,請解釋一下。 function nth_number(v, n) { var start = 0; var end = v

    0熱度

    1回答

    我正在實現一個使用中位數樞軸方法的select-kth算法。具體來說,我遵循pseudocode listed here.。然而,我的代碼崩潰(下面討論的錯誤),我明白爲什麼它崩潰,但我不明白我能做些什麼。 的錯誤 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 32017219 at Selection.

    -1熱度

    1回答

    我發現在C算法++這裏 https://gist.github.com/andlima/1774060 的實現,但我不明白的幾行的目的以及它們如何工作, 我應該添加一個if語句如果n低於一定數量,我們應該排序一個數組並返回v [k]? 在第四行中,爲什麼我們通過增加4來創建一個變量?我知道我們必須將它除以5才能獲得一定數量的陣列 什麼是6線負責的「for循環」?是否將主陣列拆分爲我們想要排序的較小

    3熱度

    2回答

    首先,我只是想說明這是一個我已經做了大量嘗試的作業問題。 我被要求來修改快速排序中的Java設置樞軸爲使用下式​​ 我寫一個computeMedian方法,該方法接受3點的整數數組中的9個值的僞中間值,確定最高的,然後返回該值。 的代碼: public static int computeMedian(int x, int y, int z) { if((x >= y &&

    2熱度

    1回答

    給定N位8位數(數值0-255)的數組? 如何找到中位數? 我已經嘗試了基數排序和中位數的中位數算法。 考慮到數字的值在0到255之間,還有更好的方法嗎?

    7熱度

    2回答

    下面是我的代碼試圖瞭解中位數算法的中位數(使用5號塊)。我知道如何獲得輸入的中位數,但我不知道如何編碼該塊來繼續遞歸輸入,直到我擁有中位數。然後,在獲得中位數後,我不確定如何將其用作關鍵點來丟棄無用的信息以對輸入進行分區。 getMediansArray返回大小爲數組的數組(輸入長度​​爲5),而getMedians僅返回數組中的中值(僅用於長度爲< = 5的數組)。 public static

    0熱度

    1回答

    中位數quicksort的中位數的最壞情況時間複雜度是什麼(數據的中位數取決於需要O(n)時間才能找到的中位數)?