- 5
- 0
- 约8.32千字
- 约 24页
- 2019-08-01 发布于浙江
- 举报
并行排序算法
先简单说一下给的A,B,C 三种算法(见上面引用的那篇博客),A算法将耗时的平方和开平方计算放到比较函数中,导致Array.Sort 时,每次亮亮比较都要执行平方和开平方计算,其平均算法复杂度为 O(nlog2n) 。 而B 将平方和开平方计算提取出来,算法复杂度降低到 O(n) ,这也就是为什么B比A效率要高很多的缘故。C 和 B 相比,将平方函数替换成了 x*x ,由于少了远程函数调用和Pow函数本身的开销,效率有提高了不少。我在C的基础上编写了D算法,D算法采用并行计算技术,在我的双核笔记本电脑上数据量比较大的情况下,其排序效率较C要提高30%左右。
下面重点介绍这个并行排序算法。算法思路其实很简单,就是将要排序的数组按照处理器数量等分成若干段,然后用和处理器数量等同的线程并行对各个小段进行排序,排序结束和,再在单一线程中对这若干个已经排序的小段进行归并排序,最后输出完整的排序结果。考试大考虑到和.Net 2.0 兼容,没有用微软提供的并行库,而是用多线程来实现。
下面是测试结果:
n A B C D
32768 0.7345 0.04122 0.0216 0.0254
65535 1.5464 0.08863 0.05139 0.05149
131072 3.2706 0.1858 0.118 0.108
262144 6.8423
您可能关注的文档
最近下载
- 环球影城策划方案.docx VIP
- 蒋志刚等-保护生物学26第20章 香港的生物多样性及其保护.pdf VIP
- SL∕T 813-2021 规划水资源论证技术导则.pdf
- 河南省地税系统2015年考试录用公务员面试确认登记表.doc VIP
- 2017年江苏级机关公开遴选公务员报名推荐审核表.doc VIP
- 环球影城策划方案_20250204_192550.docx VIP
- 文胸:618销售复盘与分析.pptx
- 小学生主题班会通用版《开玩笑,有分寸》PPT课件.pptx VIP
- 2023年统一考试录用公务员面试确认情况登记表.docx VIP
- 2025年上海交通大学大学物理期末试卷及答案.docx VIP
原创力文档

文档评论(0)