cost 343 ms
使用中位數的中位數作為 pivot 進行分區的快速排序算法

[英]quickSort algorithm using median of medians as a pivot for partitioning

StackOverflow 上有很多信息,但我無法完全弄清楚我需要它的方式。 我正在嘗試實現一個中位數為中位數的 quickSelect 算法,但不能完全使其工作。 該算法應該使用以下步驟找到數組中輸入 n>1 個元素的第 i 個最小元素: 如果 n==1 返回數組中的元素。 將數組中的 n ...

如何在 QuickSelect/QuickSort 中從 Lomuto 分區方案轉換為 Hoare 的分區方案?

[英]How to translate from Lomuto Partitioning scheme to Hoare's Partition scheme in QuickSelect/QuickSort?

我正在解決問題https://leetcode.com/problems/k-closest-points-to-origin/此處轉載了問題聲明: 給定一個點數組,其中points[i] = [xi, yi]表示 XY 平面上的一個點和一個整數k ,返回離原點(0, 0)最接近(歐幾里得距離)的 ...

如何計算 O(n) 中未排序頻率表的中位數?

[英]How to calculate median of an unsorted frequency table in O(n)?

我有一個數據集,由n 個未排序的元組組成,這些元組表示數字(比如說特定的顏色代碼)和它們的頻率(出現的次數)。 我想找到最壞情況復雜度為O(n)的數字的確切中位數。 例如: dataset: {(5000, 8000), (25000, 4000), (9, 9000)} median: 50 ...

qselect mips 匯編程序中的錯誤

[英]bug in qselect mips assembly program

下面是 mips 中的快速選擇算法。 那里有錯誤,但我找不到。 qselect 功能無法正常工作,但其他功能似乎還不錯。 我花了很多時間嘗試調試它,但它在 mars 中編譯時沒有錯誤。 它只是沒有按預期工作 我如何測試它: ...

呼叫值未按預期增加

[英]Calls value not incrementing as intended

我正在編寫一個程序,旨在查找運行 quickselect 所需的平均遞歸調用次數,並且我添加了一個計數器“調用”來跟蹤遞歸調用的次數。 每次再次調用 quickselect 時,我都會增加它,但是當我對 main 使用更大的數字時,調用次數會迅速進入指數區域。 我想讓 main 返回平均呼叫次數,我 ...

quickselect算法的時間復雜度

[英]Time complexity of quickselect algorithm

我不確定 Quickselect 算法(對於第 k 個最大元素)的時間復雜度是多少,所以任何人都可以幫助我 ...

Select 使用 QuickSelect 的 K 個最大元素 - Python

[英]Select the K largest elements with QuickSelect - Python

我是 Python 的新手,我正在練習編寫代碼,但我遇到了一些麻煩。 我正在嘗試實現一種基於QuickSelect的算法,在該算法中可以提取K 個最大元素。 因此,在我實現QuickSelect算法並使用它來查找數組 A 中的第 K 個最大元素。然后使用 function k_largest_qu ...

快速選擇的正確條件

[英]Correct conditions for quickselect

我正在實施快速選擇算法以獲取數組中的第k個元素,但我被困在一個我不知道如何解決的地方。 這是我的代碼不起作用: 當然,如果我刪除這些行: 它變成快速排序並且工作正常。 而且我理解它為什么不起作用,這是因為當我在上述條件下返回時,我從 0 到 k 的數組可能沒有被排序。 但是我無法找到正確的條件,我只 ...

使用快速 select 和中位數中位數查找列表的中位數

[英]Finding median of a list using quick select and median-of-medians

假設 A = [1, 2, 3, 4, 5, 6, 7, 8, 9]。 我必須在這里找到中位數 5,並且我需要使用快速 select 和中位數的概念。 我制作了以下代碼,但由於某種原因,它輸出 4 這是錯誤的。 我哪里錯了? 以下只是后面功能需要的一些輔助功能。 對於以下內容,我編寫了中位數的代碼。 ...

快速選擇算法找到第 k 個最小的

[英]Quickselect algorithm to find kth-smallest

我正在嘗試使用快速選擇來查找第 k 個最小的數字。 但是當我編寫與https://www.geeksforgeeks.org/kth-smallestlargest-element-unsorted-array/完全相同的代碼時,它給出了錯誤的 output 但是當我從 GeeksforGeeks ...

單鏈表C++的快速選擇算法

[英]Quickselect algorithm for singly linked list C++

我需要一種算法,它可以在線性時間復雜度 O(n) 和恆定空間復雜度 O(1) 中找到單鏈表的中值。 編輯:單向鏈表是一個 C 風格的單向鏈表。 不允許使用 stl(沒有容器,沒有函數,禁止所有 stl,例如沒有 std::forward_list)。 不允許移動任何其他容器(如數組)中的數字。 具 ...

快速選擇最壞情況(Θ(n^2) 或 O(n^2)?)

[英]Quick-Select worst-case scenario (Θ(n^2) or O(n^2)?)

我一直在嘗試理解 Quick-Select 算法,我發現最壞情況運行時間的復雜性有兩個不同的值。 例如, 這個網站聲稱最壞情況的時間復雜度是 Θ(n^2),而GeeksforGeeks聲稱它是 O(n^2)。 有人可以幫助我了解哪個是正確的,為什么會這樣? ...

確定性選擇算法的遞歸關系

[英]Recurrence Relation for Deterministic Selection Algorithm

存在線性時間確定性算法供選擇。 我讀了這個鏈接,分而治之的方法看起來像:T(n) <= 12n/5 + T(n/5) + T(7n/10) 但是,我不明白為什么必須是 T(7n/10)。 鏈接本身已經提到分區的每一半都有大小 (3n/10),因此算法在 (6n/10) 上遞歸。 即使我們包含 ...

下面的 quickselect 方法在我調用它時返回 undefined 。 快速選擇調用自身是否與它有關?

[英]The quickselect method below is returning undefined when I call it. Does it have something to do that quickselect is calling itself?

我創建了一個SortableArray類的實例 然后我像這樣在實例上調用quickselect來找到第一個最低值,第一個最低值實際上是第二個最低值,因為它是零索引的。 然后我得到 undefined,這沒有任何意義,因為 quickselect 方法包含一個 return 語句。 ...

快速選擇時間復雜度解釋

[英]Quickselect time complexity explained

從https://en.wikipedia.org/wiki/Quickselect它說 “然而,不像快速排序那樣遞歸到兩邊,quickselect 只遞歸到一側——它正在搜索的元素所在的一側。這將平均復雜度從 O(n log n) 降低到 O(n),其中O(n^2) 的最壞情況。” 我不明白減 ...

如何在 Quickselect 中實現 Hoare 分區方案?

[英]How to implement the Hoare partition scheme in Quickselect?

我嘗試將Hoare 分區方案作為 Quickselect 算法的一部分來實現,但它似乎每次都給我各種答案。 這是findKthBest函數,它在給定數組 ( data ) 和其中元素的數量的情況下查找數組中的第 K 個最大數(如果為 5 個元素, findKthBest low = 0 , hig ...

查找未排序數組中的最大K數

[英]Finding the largest K numbers in an unsorted array

我試圖找到給定排序數組的最大K數。 例如:輸入 - > [5,12,45,32,9,20,15]輸出 - > K = 3,[45,32,20] 到目前為止,我編寫的代碼返回最大的K元素,但是它需要返回最大的K個數字。 任何幫助,將不勝感激。 ...

在Rcpp中矩陣的所有列或所有行上執行快速選擇的多線程最快方法-OpenMP,RcppParallel或RcppThread

[英]Fastest way to multithread doing quickselect on all columns or all rows of a matrix in Rcpp - OpenMP, RcppParallel or RcppThread

我正在使用此Rcpp代碼對值的向量進行快速選擇 ,即在O(n)的時間內從向量中獲取第k個最大元素(我將其保存為qselect.cpp ): 我使用它作為計算所需百分位數的快速方法。 例如 [這看起來好像已經快了,但我需要在應用程序中完成數百萬次] 現在,我想修改此Rcpp ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM