最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

分布式與并行計(jì)算—并向算法實(shí)現(xiàn)

2023-05-21 10:40 作者:玟玟的大寶貝  | 我要投稿

訪問【W(wǎng)RITE-BUG數(shù)字空間】_[內(nèi)附完整源碼和文檔]

原始串行快速排序算法中有“分而治之”的遞歸調(diào)用部分,在每次選擇pivoit并把序列按照小于pivoIt和大于pivoit分成兩類后,左右兩部分的遞歸排序可以并發(fā)執(zhí)行。

運(yùn)行時(shí)間

  • 為了減小偶然性因素造成的時(shí)間差異,對(duì)每一個(gè)算法重復(fù)運(yùn)行10000次,取平均耗時(shí)。

  • 考慮到“枚舉排序”所需時(shí)間($O(n^2)$)遠(yuǎn)遠(yuǎn)長(zhǎng)于另外兩者,因此“枚舉排序”只運(yùn)行一遍。

時(shí)間(毫秒)快速排序枚舉排序歸并排序串行1.688922043.4941并行0.86042771.5046

并行算法實(shí)現(xiàn)

快速排序

  • 原始串行快速排序算法中有“分而治之”的遞歸調(diào)用部分,在每次選擇pivoit并把序列按照小于pivoIt大于pivoit分成兩類后,左右兩部分的遞歸排序可以并發(fā)執(zhí)行,偽代碼如下。

ParallelQucikSort(data, p, r) q = Partition(data, p, r) // partition會(huì)返回pivoit task[1] = ParallelQuickSort(data, p, q - 1) task[2] = ParallelQuickSort(data, q + 1, r) ? ?for j = 1 to 2 par-do ? ? task[i] ? ?return data

枚舉排序

  • 枚舉排序原本會(huì)依次對(duì)每個(gè)元素進(jìn)行計(jì)數(shù)的操作,我們可以使這些操作并行化,偽代碼如下

ParallelEnumerateSort(data) ? ?sorted_data = new List ? ?for i = 1 to data.length par-do ? ? ? ?counter = 0 ? ? ? ?for j = 1 to data.length do ? ? ? ? ? ?if data[j] < data[i] ? ? ? ? ? ? ? ?counter = counter + 1 ? ? ? ?sorted_data[counter+1] = data[i] ? ?return sorted_data

歸并排序

  • 歸并排序的并行化改進(jìn)與快速排序類似,都是在“分而治之”分完之后,對(duì)兩個(gè)子任務(wù)并行執(zhí)行,偽代碼如下

ParallelMergeSort(data) ? ?if (data.length==1) ? ? ? ?return data ? ?else ? ? ? ?new_data[1] = data[:data.length/2] ? ? ? ?new_data[2] = data[data.length/2:] ? ? ? ?for i = 1 to 2 par-do ? ? ? ? ? ?ParallelMergeSort(new_data[i]) ? ? ? ? ? ? ? ?data = MergeData(new_data[1],new_data[2]) ? ? ? ?return data


分布式與并行計(jì)算—并向算法實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
清水河县| 兴和县| 大冶市| 乐东| 崇州市| 罗甸县| 泸水县| 尉氏县| 佛山市| 金平| 宾阳县| 南京市| 肥西县| 阳新县| 清河县| 金寨县| 伊宁市| 清流县| 曲水县| 曲沃县| 桓仁| 徐汇区| 延庆县| 清镇市| 桂东县| 镇赉县| 伊吾县| 昭平县| 江川县| 富阳市| 黔西县| 昭通市| 台南市| 三台县| 南漳县| 虎林市| 萍乡市| 郯城县| 上饶县| 高碑店市| 顺义区|