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

最近更新

第02讲立方根(知识解读+达标测试)-2024-202.. 17页

2025年往复式压缩机项目合作计划书 67页

2025年家用电器项目建议书 71页

高级会计学概论 21页

墙面装饰材料性能评估-全面剖析 35页

服务协议智能解析技术-全面剖析 26页

法人授权委托书(29篇) 22页

一种基于CAN总线频率变送安全栅设计 2页

一种两级供应商的混合循环取货模式研究 2页

网友关于2025年LPL决赛FPX夺冠心得体会大全(.. 6页

辞职报告格式(29篇) 19页

银行新员工入职培训心得体会(8篇) 27页

“织女一号”固体火箭发动机装药工艺中的几个.. 2页

“带纡纱”的形成原因及消除方法 2页

“人文合一”在班组建设中的应用探讨 2页

π型滤波电路在伺服系统中的工程应用 2页

X粉末衍射线指标化的计算机处理方法 2页

WHA织物拒水剂的制备与应用 2页

2025年幼儿园学雷锋国旗下讲话三篇 5页

sc 网络的一种计算机辅助分析方法 2页

2025年幼儿园健康说课稿模板范文 22页

RDS——广播界的一项新技术应用 2页

QBe2合金硬态分级时效显微分析 2页

人教版三年级下册数学期中测试卷(名师推荐).. 4页

2025年度危险化学品生产企业试生产方案 37页

图书管理系统调研报告 12页

完美修改版《矿山井巷工程施工及验收规范》GB.. 80页

弥勒礼佛忏-闻者无量福,诵者福无量 32页

天弛专业挽联打印软件v3.2.0介绍(共2页) 2页

企业退休人员社会化管理服务基本信息采集表 1页