- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章并行算法的一般设计策略
习题例题:
1 、令 n 是待排序的元素数, p =2 d 是 d 维超立方中处理器的数目。假定开始随机选定主元
x,并将其播送给所有其他处理器,每个处理器按索接收到的 x,对其 n/p 个元素按照≤ x
和> x 进行划分,然后按维进行交换。这样在超立方上实现的快排序算法如下:
算法 5.6 超立方上快排序算法
输入: n 个元素, B= n/p ,d =log p
输出: 按超立方编号进行全局排序
Begin
(1) id=processor ’ slabel
(2) for i=1 to ddo
(2.1) x=pivot/* 选主元 */
(2.2) 划分 B 为 B1 和 B2 满足 B1≤ B<B2
(2.3) if 第 i 位是零 then
沿第 i 维发送 B2 给其邻者
(ii)C= 沿第 i 维接收的子序列
(iii)B=B 1∪ C
else
沿第 i 维发送 B1 给其邻者
(ii)C= 沿第 i 维接收的子序列
(iii)B=B 2∪ C
endif
endfor
(3) 使用串行快排序算法局部排序 B= n/p 个数
End
①试解释上述算法的原理。
②试举一例说明上述算法的逐步执行过程。
2 、①令 T=babaababaa 。 P=abab ,试用 算法 5.4 计算两者的匹配情况。
②试分析 KMP 算法为何不能简单并行化。
3 、给定序列( 33 ,21 ,13 ,54 , 82 ,33 ,40 , 72 )和 8 个处理器,试按照 算法 5.2 构造
一棵为在 PRAM-CRCW 模型上执行快排序所用的二叉树。
4 、计算 duel( p ,q )函数的算法如下:
算法 5.7 计算串匹配的 duel( p ,q )的算法
输入: WIT 〔1:n-m+1 〕, 1 ≤p < q ≤n-m+1 , (p - q )< m/2
输出: 返回竞争幸存者的位置或者 null (表示 p 和 q 之一不存在)
Begin
if p =null then duel= qelse
if q =null then duel= pelse
j= q - p+1
w=WIT( j)
if T(q + w-1) ≠P(w )then (i)WIT( q )= w
(ii)duel= p
else
(i)WIT( p )= q –p+1
(ii)duel= q
endif
endif
End
①令 T=abaababaababaababababa 。P=abaababa ,试计算 WIT( i);
②试考虑 P=6 , q=9
的竞争情况。
5 、对于 图 5.2(a) 的加权有向图,试用 算法 5.5 ,逐步求出 D 2 , D 4 和 D 8 中各元素 dijk
:
d 002
d012
d022
d 032
d042
d 052
d062
d002
d012
d022
d 032
d042
d 052
d062
d102
d112
d122 d132
d142
d152 d162
d102
d112
d122
d132 d142
d152 d162
d 602
d612
d622
d 632
d642
d 652
d662
d602
d612
d622
d 632
d642
d 652
d662
(a) D2 (b) D 4
d 002
d012
d022
d 032
d042
d 052
d062
d102
d112
d122
d132 d142
d152 d162
d 602
d612
d622
d 632
d642
d 652
d662
(a)D 8
小结
设计并行算法是一件复杂的事, 而并行算法的设计这门学科还属于发展中的一门
学科,所以目前尚无一套普遍适用的、 系统的设计方法学。 本章只是给出一个非
常一般的并行算法的设计方法,它不可能也不应该视为设计并行算法的全部方
法。重要的是,通过所介绍的设计方法的学习, 希望读者能从中得到更多的启迪,
补充更多的算例,丰富、完善乃至开拓出更新更好的设计方法。
文档评论(0)