优优班--学霸训练营 > 题目详情
  • 在研究并行计算的基本算法时,有以下简单模型问题:
    用计算机求n个不同的数v1,v2,…,vn的和
    n
    i=1
    vi=v1+v2+v3+…+vn
    .计算开始前,n个数存贮在n台由网络连接的计算机中,每台机器存一个数,计算开始后,在一个单位时间内,每台机器至多到一台其他机器中读数据,并与自己原有数据相加得到新的数据,各台机器可同时完成上述工作.为了用尽可能少的单位时间,使各台机器都得到这n个数的和,需要设计一种读和加的方法.比如n=2时,一个单位时间即可完成计算,方法可用下表表示:
    机器号 初始时 第一单位时间 第二单位时间 第三单位时间
    被读机号 结  果 被读机号 结  果 被读机号 结  果
    1 v1 2 v1+v2        
    2 v2 1 v2+v1        
    (Ⅰ)当n=4时,至少需要多少个单位时间可完成计算?把你设计的方法填入下表
    机器号 初始时 第一单位时间 第二单位时间 第三单位时间
    被读机号 结  果 被读机号 结  果 被读机号 结  果
    1 v1            
    2 v2            
    3 v3            
    4 v4            
    (Ⅱ)当n=128时,要使所有机器都得到
    n
    i=1
    vi
    ,至少需要多少个单位时间可完成计算?(结论不要求证明)
    【考点】算法的概念,绘制简单实际问题的流程图
    【分析】请登陆后查看
    【解答】请登陆后查看
    难度:中等
0/40

进入组卷