cost 146 ms
二進制值的排序網絡

[英]sorting network for binary values

我正在尋找最有效的二進制值排序網絡。 就我而言,效率是所需的比較和交換操作的數量。 背景:排序網絡使用一系列具有剛性位置的比較和交換操作對值列表進行排序。 由於嚴格的順序,它們適用於硬件實現或並行化。 我有兩個子問題: 如果我知道我的數據是二進制的,例如(0, 1, 1, 0, 1, 1...) , ...

為 64 個元素排序網絡交換

[英]Sorting Network SWAPs for 64 elements

我正在嘗試在 C 程序中使用排序網絡對包含n元素的小列表A進行排序。 排序網絡由SWAP(x, y)宏組成,每個宏比較兩個元素A[x]和A[y] ,並在必要時進行交換。 本網站生成SWAP(x, y)宏序列,用於對n <= 32元素進行排序。 現在,我正在尋找用於對n = 64元素進行排序的S ...

最佳的9元素分類網絡,可以減少到9個最佳中值網絡?

[英]Optimal 9-element sorting network that reduces to an optimal median-of-9 network?

我正在研究基於雙輸入最小/最大操作的九個元素的排序和中值選擇網絡。 Knuth, TAOCP Vol。 3 ,第2版。 狀態(第226頁)九元素排序網絡需要至少25次比較,這轉換為相同數量的SWAP()原語或50 min / max操作。 顯然,通過消除冗余操作,可以將分揀網絡轉換為中值 ...

減少排序網絡

[英]Reducing a Sorting Network

排序網絡是 2 個輸入比較器的排列,可以對 n 個元素的輸入序列進行排序。 例如,這是一個用於 9 元素輸入的排序網絡: 每條豎線是一個2輸入比較器,左邊是輸入序列,右邊是排序好的序列。 我的問題是:如何證明如果我們刪除任何有效的 n 個輸入排序網絡的頂線或底線,我們最終會得到一個適用於 ( ...

排序網絡 - 哪些網絡允許跳過比較?

[英]Sorting Networks - which networks allow skipping a comparison?

GCC的qsort實現使用中位數為3來選擇一個支點。 在此期間,3個元素使用排序網絡進行排序。 3個元素的分類網絡通常需要3次比較。 但是在這個特定的實現中,可以跳過最后的比較,具體取決於之前的比較: 對於n = 4...16網絡(具有已知的最小最佳比較數的網絡),可以做類似的 ...

如何修復這種非遞歸奇偶合並排序算法?

[英]How to fix this non-recursive odd-even-merge sort algorithm?

我正在尋找非遞歸奇偶合並排序算法,並找到了 2 個來源: Sedgewick R 的一本書。 這個問題 兩種算法是相同的,但都是錯誤的。 生成的排序網絡不是奇偶合並排序網絡。 這是具有 32 個輸入的結果網絡的圖像。 兩條水平線之間的垂直線表示將值 a[x] 與 a[y] 進行比較, ...

最佳Batcher奇偶合並網絡的大小不同於2 ^ n

[英]Optimal Batcher odd-even merge networks for sizes different than 2^n

這些天,我一直在嘗試使用最少數量的比較交換單元(最大尺寸 ,而不是深度 )實現最大尺寸為32的分揀網絡。 截至目前,我已經能夠使用以下資源來生成我的網絡: 對網絡0到16進行排序:Perl的Algorithm::Networksort模塊采用“最佳”算法。 不幸的是,它只提供最知名 ...

比較兩對4變量並返回匹配數?

[英]Comparing two pairs of 4 variables and returning the number of matches?

給定以下結構: 比較兩個這樣的結構並返回匹配的變量數(在任何位置)的絕對最快方法是什么? 例如: 我正在尋找3的結果,因為兩個結構之間有三個數字匹配。 但是,考慮到以下因素: 然后我期望結果只有2,因為在兩個結構之間只有兩個變量匹配(盡管第一個中有兩個零)。 ...

排序 10 個數字的最快方法? (數字是 32 位)

[英]Fastest way to sort 10 numbers? (numbers are 32 bit)

我正在解決一個問題,它涉及非常快速地對 10 個數字 (int32) 進行排序。 我的應用程序需要盡可能快地對 10 個數字進行數百萬次排序。 我正在對一個包含數十億個元素的數據集進行采樣,每次我需要從中挑選 10 個數字(簡化)並對它們進行排序(並從排序后的 10 個元素列表中得出結論)。 目前 ...

並行化小型網絡排序

[英]Parallelized Small Network sort

我正在進行網絡排序(對於小於8的數組),並注意到所有算法都關注其允許並行操作的能力。 這是一個大小為5的數組。 我正在使用long int數組(因此每個元素的大小為8個字節)。 那么有什么簡單的方法可以在C中並行化這些操作嗎? 是否有任何硬件特定命令可用於實現此目的(SIMD,AS ...

分揀網絡成本和延遲

[英]Sorting networks costs and delay

根據我的閱讀,我不知道如何計算成本和延遲。 成本:搖桿或比較交換塊的數量。 延遲:序列中比較交換的數量。 我已經在下面發布了我的示例 ...

VHDL中的排序網絡

[英]Sorting network in VHDL

我正在編寫一個基本程序來使用 Bose-Nelson Algorithm實現此鏈接網絡中 N=5的排序算法。 我使用comb.vhd組件比較兩個數字,我的程序的頂層實體在下面的代碼中。 我用Quartus編譯的時候沒有問題,但是當我用modelsim模擬RTL的時候,不管輸入是什么,輸出總是00 ...

在修改了少量元素后重新排序向量

[英]Re-sort a vector after a small number of elements have been modified

如果我們有一個先前已經排序的大小為N的向量,並且用任意值替換M個元素(其中M遠小於N ),是否有一種簡單的方法可以以較低的成本對它們進行重新排序(即生成排序網絡的深度減少)比完全排序? 例如,如果N = 10且M = 2,則輸入可能是 注意:修改元素的索引是未知的(直到我們將它們與 ...

8個元素的分揀網絡

[英]sorting network for 8 elements

如何使用排序網絡對8個元素的列表進行排序? 例如給定的列表:12,5,9,14,33,17,10,8 我知道如何對4個元素的列表進行排序..對n個元素的任何列表進行排序的規則是什么? ...

分類網絡中的比較器列表

[英]List of Comparators in Sorting Networks

我的家庭作業文檔中有一個問題,而且我很難花時間看到和理解這個問題。 問題如下: 我們可以將具有c個比較器的n輸入比較網絡表示為從1到n范圍內的c對整數的列表。 如果兩個對共有一個整數,則網絡中相應比較器的順序由列表中的對順序確定。 給定此表示形式,描述用於確定比較網絡深度的O(n ...

蝴蝶網絡排序

[英]butterfly network in sorting

我正在研究C ++中Robert Sedwick算法中的奇數合並排序。 作為文本的一部分,作者提到了如何使用奇偶合並排序來實現排序網絡中的並行排序。 在此背景下,作者提到了蝴蝶網 我的問題是什么是基本上蝴蝶網絡,為什么它被稱為蝴蝶。 將理解用簡單示例的解釋。 我用谷歌搜索了 ...

使用比較器網絡對固定長度數組進行非常快速的排序

[英]Very fast sorting of fixed length arrays using comparator networks

我有一些性能關鍵代碼,涉及在 C++ 中對一個非常短的固定長度數組進行排序,其中包含大約 3 到 10 個元素(參數在編譯時更改)。 我突然想到,專門針對每個可能的輸入大小的靜態排序網絡可能是一種非常有效的方法:我們進行所有必要的比較以確定我們處於哪種情況,然后進行最佳交換次數進行排序數組。 為 ...

雙調排序網絡 vs Thrust::sort_by_key

[英]Bitonic Sorting Network vs Thrust::sort_by_key

我實現了一個使用排序的算法。 我嘗試了 Thrust::sort_by_key 大約需要 0.4 秒來對包含 10^7 個元素的數組進行排序。 我認為雙音排序網絡應該比 Thrust::sort_by_key 更快。 但是,雙調排序需要大約 2.5 秒才能對上述相同的數組進行排序。 我使用了SDK ...

小值n的標准分類網絡

[英]Standard sorting networks for small values of n

我正在尋找5元素排序的排序網絡實現,但是由於我找不到關於SO的良好參考,因此我想要求對所有小值n(至少n = 3)進行排序的網絡到n = 6,但更高的值也將是巨大的。 一個好的答案應該至少將它們列為“交換”(按2個元素排序)操作的序列,但是從低階排序網絡的角度來看遞歸分解可能也很不錯。 ...

分揀網絡如何擊敗通用排序算法?

[英]How does a sorting network beat generic sorting algorithms?

關於最快排序的固定長度6 int數組 ,我不完全理解這個排序網絡如何擊敗像插入排序這樣的算法。 形成該問題,這里是完成排序所需的CPU周期數的比較: Linux 32位,gcc 4.4.1,Intel Core 2 Quad Q8300,​​-O2 插入排序(Dan ...


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