1 / 24
文档名称:

并行排序算法.doc

格式:doc   大小:53KB   页数:24页
该资料是网友上传,本站提供全文预览,预览什么样,下载就什么样,请放心下载。
点击预览全文
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

并行排序算法.doc

上传人:aihuichuanran1314 2019/6/1 文件大小:53 KB

下载得到文件列表

并行排序算法.doc

文档介绍

文档介绍:并行排序算法先简单说一下给的A,B,C三种算法(见上面引用的那篇博客),A算法将耗时的平方和开平方计算放到比较函数中,,每次亮亮比较都要执行平方和开平方计算,其平均算法复杂度为O(nlog2n)。而B将平方和开平方计算提取出来,算法复杂度降低到O(n),这也就是为什么B比A效率要高很多的缘故。C和B相比,将平方函数替换成了x*x,由于少了远程函数调用和Pow函数本身的开销,效率有提高了不少。我在C的基础上编写了D算法,D算法采用并行计算技术,在我的双核笔记本电脑上数据量比较大的情况下,其排序效率较C要提高30%左右。下面重点介绍这个并行排序算法。算法思路其实很简单,就是将要排序的数组按照处理器数量等分成若干段,然后用和处理器数量等同的线程并行对各个小段进行排序,排序结束和,再在单一线程中对这若干个已经排序的小段进行归并排序,最后输出完整的排序结果。,没有用微软提供的并行库,而是用多线程来实现。下面是测试结果: nABCD 从测试结果上看,当要排序的数组长度较短时,并行排序的效率甚至还没有不进行并行排序高,这主要是多线程的开销造成的。当数组长度增大到25万以上时,并行排序的优势开始体现出来,随着数组长度的增长,排序时间最后基本稳定在但线程排序时间的74%左右,其中并行排序的消耗大概在50%左右,归并排序的消耗在14%左右。由此也可以推断,如果在4CPU的机器上,其排序时间最多可以减少到单线程的14+25=39%。8CPU为14+=%。目前这个算法在归并算法上可能还有提高的余地,如果哪位高手能够进一步提高这个算法,不妨贴出来一起交流交流。下面分别给出并行排序和归并排序的代码: 并行排序类ParallelSort Paralletsort类是一个通用的泛型,调用起来非常简单,下面给一个简单的int型数组的排序示例: parer:IComparer<int> { IComparerMembers#parerMembers pare(intx,inty) { pareTo(y); } #endregion } publicvoidSortInt(int[]array) { <int>parallelSort=<int>(); (array,parer()); }只要实现一个T类型两两比较的接口,然后调用ParallelSort的Sort方法就可以了,是不是很简单? 下面是ParallelSort类的代码 usingSystem; ; ; ; ; namespaceSort { /**//// ///ParallelSort /// /// lassParallelSort<T> { enumStatus { Idle=0, Running=1, Finish=2, } classParallelEntity { publicStatusStatus; publicT[]Array; parer<parer; publicParallelEntity(Statusstatus,T[]array,IComparer<parer) { Status=status; Array=array; parer; } } privatevoidThreadProc(ObjectstateInfo) { ParallelEntitype=stateInfoasParallelEntity; lock(pe) { =ParallelSort<T>.; (,parer); =ParallelSort<T>.; } } publicvoidSort(T[]array,IComparer<parer) { //Calculateprocesscount intprocessorC

最近更新

2024-2030全球玻纤PP夹层垫行业调研及趋势分析.. 28页

2024-2030全球燃尽和热洁炉行业调研及趋势分析.. 31页

2025年保洁员的辞职报告辞职报告 7页

2025年糖尿病眼底病变分级与疗法探究 43页

2024-2030全球海上集装箱运输行业调研及趋势分.. 31页

2024-2030全球油溶性金纳米棒行业调研及趋势分.. 40页

2025年保安班长竞聘报告 4页

2024-2030全球永久和临时性牲畜电围栏行业调研.. 41页

夏季预防传染病知识培训 28页

2025年供热运行保障方案 34页

2025年社区医疗管理者职业礼仪指南 65页

2025年作文:校园风景线 11页

2024-2030全球智能电能量数据采集终端行业调研.. 33页

2025年体育课外活动总结 23页

2025年乌头碱急性中毒紧急救治方案 27页

2024-2030全球手术胸罩行业调研及趋势分析报告.. 40页

2024-2030全球悬挂式盥洗包行业调研及趋势分析.. 29页

2024-2030全球工厂验收测试服务行业调研及趋势.. 31页

2025年手术室无菌操作要领解析 32页

增进领导干部的有效沟通艺术 71页

2025年会计明年工作计划 82页

2025年心脏骤停急救攻略 48页

2024-2030全球多模态数字减影血管造影系统行业.. 34页

2024-2030全球可重建罐式雾化器行业调研及趋势.. 39页

2024-2030全球可再生汽车地毯行业调研及趋势分.. 29页

校园网络工程设计-网络工程课程设计报告 32页

煤矿综采工作面三机选型 10页

物业续聘管理方案 4页

六年级下册平面图形的认识练习题 4页

第10课桥梁模型-设计与制作 2页