并行计算习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 对于一颗K 级二叉树(根为0级,叶为k-1级),共有N=2^k-1个节点,当推广至m-元树时(即每个非叶节点有m 个子节点)时,试写出总节点数N 的表达式。
答:
推广至M 元树时,k 级M 元树总结点数N 的表达式为:
N=1+m 1+m 2+...+m (k-1)=(1-m k )*1/(1-m);
2.4 试构造一个N=64的立方环网络,并将其直径和节点度与N=64的超立方比较之,你的结论是什么?
答: N=64的立方环网络,为4立方环(将4维超立方每个顶点以4面体替代得到),直径
d=9,节点度n=4
4.11 一个在p 个处理器上运行的并行程序加速比是p-1,根据Amdahl 定律,串行分量为多少?
答: p/(1+f(p-1))=p-1, f=1/(p-1)2 5.5假定开始时P i (1《i 《n)存有数据 d i ,所谓累加求和是指用
∑=i j i d 1,来代替中的原始值d i ,算法5.3给出了在PRAM 模型上累加求和算法。
Input: di are kept in Pi, where
Output: replaces di in processor Pi
Begin
for j=0 to logn-1 do
for i=2j +1 to n par-do
(i) di= d i + d i-2j
(ii) Pi=di
end for
end for
End
(1)试用n=8为例子,按照上述算法逐步计算出累加和。
(2)分析算法的时间复杂度。
6.3
7.2(1)
例:A={1,3,6,8,11,13} p=6;B={2,4,5,7,10,12,14} ,q=7
p =3, q =3
A={1,3,6*,8,11,13*}
B={2,4,5*,7,10 ,12*,14},
B ’={2,4,5,6*,7,10 12,13*,14}
A11={1,3} , A12={8,11} , A13={} B11={2,4,5} , B12={7,10 12} , B13={14} A11={1,3*} , A12={8,11*} ,
B11={2,4*,5} , B12={7,10* , 12} ,
B11’={2, 3* , 4,5} , B12’={7,10 , 11* , 12} ,
A111={1},A112={} A121={8},A122={}
B111={2},B112={4,5} B121={7,10 },B122={12}
A111={1 *} A121={8 *}
B111={2 *} B121={7,10 * } 33
54 21 13 33 82 40 72
B111’={1 *,2 } B121’={7, 8 *,10 } A1111={}, A1112={} A1211={}, A1212={}
B1111={}, B1111={} B1211={7}, A1212={}
6.7
(1)pat = abaababa(m = 8)
WIT[1] = 0,
WIT[2] = 1,w=1,j=2,s=2-1+1=2 pat[w] = a pat[s]=b
WIT[3] = 2,w=1,j=3,s=3-1+1=3 pat[w] = pat[s]=a
w=2,j=3,s=3-1+2=4 pat[w] = b pat[s]=a
WIT[4] = 4 w=1,j=4,s=4-1+1=4 pat[w] = pat[s]=a
w=2,j=4,s=4-1+2=5 pat[w] = pat[s]=b
w=3,j=4,s=4-1+3=6 pat[w] = pat[s]=a
w=4,j=4,s=4-1+4=7 pat[w] = a pat[s]=b
为非周期串
(2)pat = abaabaaab(m = 9)
WIT[1] = 0,
WIT[2] =1 ,w=1,j=2,s=2-1+1=2 pat[w] = a pat[s]=b WIT[3] =2 ,w=1,j=3,s=3-1+1=3 pat[w] = a=pat[s]=a
w=2,j=3,s=3-1+2=4 pat[w] = b pat[s]=a
WIT[4] =5 w=1,j=4,s=4-1+1=4 pat[w] = pat[s]=a
w=2,j=4,s=4-1+2=5 pat[w] =b=pat[s]=b
w=3,j=4,s=4-1+3=6 pat[w] =a= pat[s]=a
w=4,j=4,s=4-1+4=7 pat[w] = a= pat[s]=a
w=5,j=4,s=4-1+5=8 pat[w] = b pat[s]=a
WIT[5] =1 w=1,j=5,s=5-1+1=5 pat[w] =a pat[s]=b
非周期串
6.8 (2)
p=6,q=9
j=q-p+1=9-6+1=4
w=wit[j]=wit[4]=4
T(q+w-1)=t(9+4-1)=b<>P(4)=a
wit[q]= wit[9]=w=4
duel=p=6
7.5
(2)请画出一个16输入的双调归并网络
7.6
(2)给定序列(1,2,3,4,5,6,7,8 ),请求其前缀和
B(3,1)
B(2,1)B(2,2)
B(1,1)B(1,2)B(1,3)B(1,4)
B(0,1)B(0,2)B(0,3)B(0,4)B(0,5)B(0,6)B(0,7)B(0,8)
A(1)A(2)A(3)A(4)A(5)A(6)A(7)A(8)
((1)正向遍历
B(0,1)=1, B(0,2)=2 B(0,3)=3 B(0,4)=4 B(0,5)=5 B(0,6)=6 B(0,7)=7 B(0,8)=8
B(1,1)=2, B(1,2)=12, B(1,3)=30, B(1,4)=56, B(2,1)=24, B(2,1)=1680, B(3,1)=40320,
C(3,1)
C(2,1)C(2,2)
C(1,1)C(1,2)C(1,3)C(1,4)
C(0,1)C(0,2)C(0,3)C(0,4)C(0,5)C(0,6)C(0,7)C(0,8)
(2)反向遍历
C(0,1)=1, C(0,2)=2 C(0,3)=6 C(0,4)=24 C(0,5)=120 C(0,6)=720 C(0,7)=5040 C(0,8)=40320 说明:求和或乘积均可,这里是求乘积。