




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验目的:通过实现某种排序算法的并行化熟悉openMP的编程原理和基本编写技巧和步骤,并能 了解并行算法较串行算法的优越性!实验内容:设计一个排序算法,并将其改成并行算法,观察串行与并行的性能差别实验步骤:四.3.4.1、快速排序(Quick Sort)是一种最基本的排序算法,它的基本思想是:在当前 无序区R1,n中取一个记录作为比较的“基准”(一般取第一个、最后一个或中间位 置的元素),用此基准将当前的无序区R1,n划分成左右两个无序的子区R1,i-1 和Ri,n(1WiWn),且左边的无序子区中记录的所有关键字均小于等于基准的关键 字,右边的无序子区中记录的所有关键字均大于等于基准的关键字
2、;当R1,i-1和Ri, n非空时,分别对它们重复上述的划分过程,直到所有的无序子区中的记录均排好序为 止。3.4.2、串行快速排序算法输入:无序数组data1,n输出:有序数组data1,nBegincall procedure quicksort(data,1,n)Endprocedure quicksort(data,i,j)Begin(1) if (ij) thenr = partition(data,i,j)quicksort(data,i,r-1);quicksort(data,r+1,j);end ifEndprocedure partition(data,k,l)Beginpi
3、vo=data/i=k-1for j=k to /-1 doif datajWpivo theni=i+1exchange datai and datajend ifend forexchange datai+1 and data/return i+1End3.4.3、快速排序算法的性能主要决定于输入数组的划分是否均衡,而这与基准元素选 择密切相关。在最坏的情况下,划分的结果是一边有n-1个元素,而另一边有0个素(除 去被选中的基准元素)。如果每次递归排序中的划分都产生这种极度的不平衡,么整个 算法的复杂度将是 (n2)。在最好的情况下,每次划分都使得输入数组平均分为两半, 那么算法的复杂度为
4、O(nlogn)。在一般的情况下该算法仍能保持O(nlogn)的复杂度, 只不过其具有更高的常数因子。3.4.4、快速排序算法并行化的一个简单思想是,对每次划分过后所得到的两个序列分 别使用两个线程完成递归排序。例如对一个长为n的序列,首先划分得到两个长为n/2 的序列,将其交给两个线程分别处理;而后进一步划分得到四个长为n/4的序列,再分 别交给四个线程处理;如此递归下去最终得到排序好的序列。当然这里举的是理想的划 分情况,如果划分步骤不能达到平均分配的目的,那么排序的效率会相对较差。快速排序并行算法:输入:无序数组Data1,n输出:有序数组Data1,nBeginQuickSort_pa
5、rallel(Data,0,N-1);EndProcedure para_quicksort(Data,0,N-1)Beginif(BeginEnd)r=Partition(Data,Begin,End);#pragma omp parallel#pragma omp sections /nowait#pragma omp sectionQuickSort_parallel(Data,Begin,r);#pragma omp sectionQuickSort_parallel(Data,r+1,End);End源代码:/ omp_section.cpp :定义控制台应用程序的入口点。/#inc
6、lude#include#include#includeint Partition(int *data,int start,int end)int pivo;int i, j;int tmp;pivo=dataend;i=start-1;/*i(活动指针)*/for(j=start;jend;j+)if(dataj=pivo)i+;/*i表示比pivo小的元素的个数*/tmp=datai;datai=dataj;dataj=tmp;tmp=datai+1;datai+1=dataend;dataend=tmp;/* 以 pivo 为分界,datai+1=pivo*/return i;int*
7、QuickSort_parallel(int* Data,int Begin,int End)int r;if(BeginEnd)r=Partition(Data,Begin,End);#pragma omp parallel#pragma omp sections nowait#pragma omp sectionQuickSort_parallel(Data,Begin,r);#pragma omp sectionQuickSort_parallel(Data,r+1,End);return Data;void main()int N;printf(输入个数:);scanf_s(%d,&N
8、);/for(int i=0;iN;i+)/ coutrand()endl;int *Data;Data=new intN;for(int i=0;iN;i+)Datai=rand();/for(int i=0;iN;i+)/coutDataiendl;clock_t timeBegin =clock();Data=QuickSort_parallel(Data,0,N-1);clock_t timeFinish =clock();for (int i=0;i7711115381184015006151411742117673199121995423811240S42E500269623033
9、331101毫初7781842186949665436544787238942?046119421231612382153501572415B901846718?lfc18756206372153821726243702439324464274462752927644313223239132439268229955E375705974198941262312859ieil8165411?2642219022648246262554728145282533266232757IxplS9LBemiGCC9i3CECC&SiCCJ-6SiSC1 1. 1 一 If-_J_J r- 1 1- 9SiE
10、C-11 犬 4 -.9驰叫6P6GEEPdESiPtLEESki EEEPdEESEiEE8站E乙EEEEiEE6E6EE9S6EE泓匏SEiEE5S63EEEdEt6EiEEiE6T6CES心E3 l6Kt心E6此诳匕 WAGE6M6Ly6GKw瑚tUiiltKUdStgWESWiKtUdiiJt6砧诳,的色fr69Z0E69EEZ63ZZE69EET693E68S3E&89EE8893E989EE589EE功9祖E89EE189EE明9花砧9EE8i?EEBi9EE岛9花iiSEEWEEEE9EEEi9EE化能Ti9EE0d93E899EE899EEi993E999EEE99EEE99Z
11、0E99EET9炫6S9EEiS93EiSSEE9S9EE959花SSSEES9EEES9Z0ES9EETS9EETS9EE0S93E8PSEEiP9EE听9EEEfr9EE冲ETfr9EETt9KR心览9E9成9眄源牌斯海器黑成心9黑AK9KR8明州iE9Z球9?哗9源TZ9ZFO793F8T9ZF9T97FET9EETT9Ef9T9ZEBT9ZE09ZCiB9Ef9693F909Eft-B9EP6海iSSEE6SZE6SZE6SZEZ6SZET6SZE66S3E88SZE98SZE98GZEfrSGECT8S3CT8G3CT8G3CfiiSEC砧65如OiSHCOGSD69GECS9SEC
12、E953CiSSGCiSSSCgSSEC9SSECSSS3CSS5ECVSSECPSSEC9PSEE卬SEEPPSEEPPSEETPSEETPSEE8ESSEiLESEE&ESEESESEE5&5CEfrE5CEE5SEE&55ESE5Ct9E5CE8E55E8C5Ct3C5CE5C5EEhSiCt5CSCE;kcsatfrSSSttC5t5C5tkESSt8顷t:&5珏5花PKSEE*10H巧花yU5Kt5W5Ct酒与如5W5KttU5Ct处J*CM5ttT0SEET0SKE66AZE86fr3E8做SfitEEE6frEE洲昭燃8明EEiBfrEEiLSfrEeset EEESfrSE海鬣
13、海花08P3E岫E08PSE6ifrEE昵酝昵A ZEfrdfrSETitEEUkEE砧玖E89风9燃珀卜祖|OKapuiJ EeiU3jsAs SMDON1M : 。axa puziEEUiai5A5sMOaNM:3 心心源K997R1砰黄TAFKFf/.9TRKKRTRSTTTRWITW诉9fRfiRg征9unnf眼9奇岛/.阻RfiARZStTfiKRRA/.K3脱心原骊弓临泗词gHtPAZ酒皿财如gAHR9Ki?9S0W豚听A琢A9/.frKRt9frK脱门玖tstfrrAE玖H/TbKRSPtK做琢Hmm9SARZ1邙薛倾R商q取薜THKRK心牌6跖F.TR7.7:UM源RSfrKK
14、9RFKK柄EI:队g.mbKATKRtTK/.ERflZ玷砧TEARATBTAAT瞻961奇 JAT珀Wfi9T/iT沙砌1K9/.STg.HT9T/.R1门9机BSRT加睥F.ET加豚1屈时T牝9汀TEfrdTBTfriTSE0il砰颂W&9馈卯TtS3TETS9TET网T8TT9T068STfrSiSTfriSSTEiSST颂SI0SESTTtTST900STSA命TE68frTTAW珀9ATBTEHMET996EIIE6EI36ZET0E0ET6S8ETEE9ETE8E3T9KEET68ZZ1ES0ETCfrSTT0frBTT8ESTT8WTtEETTEEETT0E0TTEBE0TT6
15、E01T966班66*6868泌机6frTS6心6T9T6机6滞靛6S6SE化8TBEBTTM9瑟&036989896必iT99E明9花可6汩珏E90iW9彻S湖SiESSgs9泗已603TE0S996。泗口&卧珏济卜眄6E9fr9皿K伽TEBfr部8心8配E孙E8frSEgSE0ES66EK瞬90EEZS0Z666T698TEfrSTSS9T0S1T066时乙T6fr涕Z6Z383ESIESTfrBHa-pui3EEiU0;sA5soaNIAA:3 -hii32731327313273232732327323273232732327323273232732327333273332733327
16、33327333273332733327340273432704227243272422725227252272522725魏?拓227252272522735羽?3W%?花g*软?拓g打猥刀1?%?叫3273732737327373273732738327383273832738327393273932739327403 2?邻32740327403274132741327413274132741327413274132742327423274232742327423274232742327423274332743327433274332743327433274332743327443274
17、432744J27443274J274327443274437443274bJ27453274532745327453275327453274632746327463274632746327463274GJ274G327dG3274G32773274732747327473274732747327473274732747327473274S327483274S327483274S32749羽冲羽?49327492749软?W软欠国猥亦m眼K132751327513275132751327E132751327513275232752327533275332754327543275432754327543275432755327563275632756327563275632756327E732757327573275732757327573275732757327583275832758327583275832758327583275932/5?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年面试题及答案中国
- 新型农民培训总结
- 2025年合肥共达职业技术学院单招笔试英语试题库含答案解析(5套100道合辑-单选题)
- 村级绿色健康家庭事迹材料
- 新能源汽车充电设施建设资金申请流程优化与风险控制报告
- 2025年住院医师规范培训(各省)-广西住院医师中医全科历年参考题库含答案解析(5卷100道合辑-单选题)
- 农业面源污染治理2025年绿色防控技术与政策体系研究报告
- 2025年增强现实(AR)在军事训练中的应用前景与挑战分析报告
- 2025年学历类考试-其它-考研历年参考题库含答案解析(5卷100题合集单选)
- 2025年医学高级职称-中医内科(医学高级)历年参考题库含答案解析(5卷100题合集单选)
- DB33T 2570-2023 营商环境无感监测规范 指标体系
- 健康管理咨询服务合同(2篇)
- 《民用建筑并网光伏发电应用技术规程》 DB64-T 795-2012
- 消防设施操作员(监控方向-中级)理论知识知识点必练600题(含详解)
- 电机及控制系统升级购销合同
- 2023年江苏省健康照护行业职业技能竞赛备考题库大全-上(单选题)
- 2022上海小升初数学试卷真题及答案(历年20卷)
- 事前绩效评估具体工作实施方案2
- DB51-T 2976-2022 城市夜景照明技术规范
- 通信工程建设标准强制性条文汇编(2023版)-定额质监中心
- 电力工程起重吊装施工方案
评论
0/150
提交评论