专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:947530340进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 每日一练 >> 文章内容
软件设计师案例分析每日一练试题(2022/3/8)
来源:信管网 2022年03月09日 【所有评论 分享到微信

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2022/3/8)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2022/3/8

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2022/3/8)

试题四(15分)
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
某工程计算中要完威多个矩阵相乘(链乘)的计算任务。
两个矩阵相乘要求第—个矩阵的列数等于第二个矩砗的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算 ,需要m*n*p乘法运算。
矩阵相乘满足结合律,多个矩阵相乘,不同的计算顺序会产生不同的计算量。以矩阵 三个矩阵相乘为倒,若按(A1*A2)*A3计算,则需要进行10*100*5+10*5*50=7500次乘法运算;若按A1*( A2*A3)计算,则需要进行100*5*50+10*100*50=75000次乘法运算。可见不同的计算顺序对计算量有很大的影响。
矩阵链乘问题可描述为:给定n个矩阵,矩阵Ai的维数为 其中i=1,2……n。确定一种乘法顺序,使得这n个矩阵相乘时进行乘法的运算次数最少。
由于可能的计算顺序数量非常庞大,对较大的n,用蛮力法确定计算顺序是不实际的。经过对问题进行分析,发现矩阵链乘问题具有最优子结构,即若A1*A2*…*An的一个最优计算顺序从第k个矩阵处断开,即分为A1*A2*…* Ak
和Ak+l *Ak+2*…*An两个子问题,则该最优解应该包含A1*A2*…*Ak的一个最优计算顺序和Ak+l*Ak+2*…* An的一个最优计划顺序。据此构造递归式,其中,cost[i][j]表示

【C代码】
算法实现采用自底向上的计算过程。首先计算两个矩阵相乘的计算量,然后依次计算3个矩阵、4个矩阵、…、n个矩阵相乘的最小计算量及最优计算顺序。下面是算法的C语言实现。
(1)主要变量说明
n:矩阵数
seq[]:矩阵维数序列
cost[][]:二维数组,长度为n*n,其中元素cost[i][j]表示Ai+1*Ai+2*…*Aj+l的最优计算的计算代价
trace[][]:二维数组,长度为n*n,萁中元素trace[i][j]表示Ai+1*Ai+2 *Aj+1的最优计算对应的划分位置,即k
<2)函数cmm
#define N 100
intcost[N][N]
inttrace[N][N]
int cmm(int n,int seq[]){
int tempCost;
int tempTrace;
int I,j,k,p;
int temp;
for( i=0;i for(p=l;pfor(i=0;(1) ;i++{
(2);
tempCost=-1;
for(k = i;ktemp= (3);
if(tempCost==-l||tempCost>temp){
tempCost=temp;
(4);
}
}
Cost[i][j]=tempCost;
trace[i][j] = tempTrace;
}
}
return cost[O][n-l];
}
【问题1】(8分)
根据以上说明和C代码,填充C代码中的空(1)~(4)。
【问题2】(4分)
根据队上说明和C代码,该问题采用了(5)算法设计策略,时间复杂度(6)。(用〇符号表示)
【问题3】(3分)
考虑实例n=6,各个矩阵的为数:A1为5*10,A2为10*3,A3为3*12,A4为12*5,A5为5*50,A6为50*6,即维数序列为5,10,3,12,5,50,6。则根据上述C代码得到的一个最优计算顺序为(7) (甩加括号方式表示计算顺序),所需要的乘法运算次数为(8)

信管网试题答案与解析:www.cnitpm.com/st/250379083.html

信管网考友试题答案分享:

信管网试题答案与解析:www.cnitpm.com/st/250379083.html
扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章