首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。 两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。 两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法
admin
2014-05-07
92
问题
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。
【说明】
某工程计算中要完成多个矩阵相乘(链乘)的计算任务。
两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算A
m×n
*B
n×p
,需要m*n*p次乘法运算。
矩阵相乘满足结合律,多个矩阵相乘,不同的计算顺序会产生不同的计算量。以矩阵A1
10×100
,A2
100×5
,A3
5×50
三个矩阵相乘为例,若按(A1*A2)*A3计算,则需要进行10*100*5+10*5*50=7500次乘法运算;若按A1*(A2*.A3)计算,则需要进行100*5*50+10*100*50=75000次乘法运算。可见不同的计算顺序对计算量有很大的影响。
矩阵链乘问题可描述为:给定n个矩阵
,矩阵Ai的维数为p
i-1
×pi,其中i=1,2,…,n。确定一种乘法顺序,使得这n个矩阵相乘时进行乘法的运算次数最少。
由于可能的计算顺序数量非常庞大,对较大的n,用蛮力法确定计算顺序是不实际的。经过对问题进行分析,发现矩阵链乘问题具有最优子结构,即若A1*A2*…*An的一个最优计算顺序从第k个矩阵处断开,即分为A1*A2*…*Ak和Ak+1*Ak+2*…*An两个子问题,则该最优解应该包含A1*A2*…*Ak的一个最优计算顺序和Ak+1*Ak+2*…*An的一个最优计算顺序。据此构造递归式,
其中,cost
[j]表示Ai+1*Ai+2*…*Aj+1的最优计算的计算代价。最终需要求解cost[0][n-1]。
【C代码】
算法实现采用自底向上的计算过程。首先计算两个矩阵相乘的计算量,然后依次计算3个矩阵、4个矩阵……n个矩阵相乘的最小计算量及最优计算顺序。下面是该算法的C语言实现。
(1)主要变量说明
n:矩阵数
seq[]:矩阵维数序列
cost[][]:二维数组,长度为n*n,其中元素cost
D]表示Ai+1*Ai+2*…*Aj+1的最优计算的计算代价
trace[][]:二维数组,长度为n*n,其中元素tmce
U]表示Ai+1*Ai+2*…*Aj+1的最优计算对应的划分位置,即k
(2)函数cmnl
#define N 100
int cost[N][N];
int trace[N][N];
int cmm(int n,int seq[]){
int tempCost;
int tempTrace;
int i , j , k, p;
int temp;
for(i=0;i
=0; )
for(p=1;P
for(i=0; (1) ;i++){
(2) ;
tempCost=-1;
for(k=i; k
temp= (3) ;
if(tempCost==-1 I I tempCost>temp){
tempCost=temp;
(4);
}
}
cost
[J]=tempCost;
trace
[J]=tempTrace;
}
}
return cost[0][n-1];
}
根据以上说明和C代码,该问题采用了(5)算法设计策略,时间复杂度为(6)(用0符号表示)。
选项
答案
(5)动态规划 (6)O(n
3
)
解析
本问题考查算法的设计策略和时间复杂度,从题干说明可以很容易看出,问题具有最优子结构和重叠子问题,采用自底向上的方法求解,这些都是动态规划的典型特点,因此采用的是动态规划设计策略。从上述C程序很容易分析出,程序中没有递归,存在三重循环,故时间复杂度为O(n
3
)。
转载请注明原文地址:https://kaotiyun.com/show/MiDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对程序段:IP(A||B||C)THENW=W/X,对于(A,B,C)的取值,(57)测试用例能够满足MCDC(修正条件逻辑判定)的要求。
下列操作系统中,_____保持网络系统的全部功能,并具有透明性、可靠性和高性能等特性。
己知某文档仅包含6种不同的字符,其每个字符出现的频率如下表所示,采用霍夫曼编码对该文档压缩存储,则单词“face”的编码为_______,该文档的压缩比为25%。
在分层体系结构中,控制层接收用户的请求并决定调用哪个模型去处理该请求,以及确定选择哪个视图来显示返回的数据。在基于JavaEE平台开发的软件系统中,常用_________技术来实现该层。
关系数据库是表的集合。对视图进行查询,本质上就是查询从_______中获得的数据。
在C程序中,对于如下的两个for语句,其运行后a和b的值分别为________。for(inta=0;a=0,a++);for(intb=0;b=0;++b);
在应用服务器关机的情况下,公司员工能连接上因特网吗?简要解释。假设采用ISDN基本速率接口,下载1875KB的文件,最快需要多长时间?
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
随机试题
以下关于债的客体的表述中正确的是()。
男,68岁,慢性咳嗽、咳痰20年,5年来气短逐渐加重,3天前受凉发热(39.6℃)咳黄痰,呼吸困难,夜不能平卧,尿少,双下肢水肿来急诊。
在用承载板法测试土基回弹模量的试验中,下列说法不正确的是()。
卷筒在提升机构或牵引机构中用来卷绕钢丝绳,一般起重机大多采用()。
根据《期货交易所管理办法》规定,下列人员或单位不具有申请期货交易所会员资格的有()。
6本不同的书平均分成3堆,每堆2本共有多少分法?
张某的次子乙,平时经常因琐事滋事生非,无端打骂张某。一日,乙与其妻发生争吵,张某过来劝说。乙转而辱骂张某并将其踢倒在地,并掏出身上的水果刀欲刺张某,张某起身逃跑,乙随后紧追。张某的长子甲见状,随手从门口拿起扁担朝乙的颈部打了一下,将乙打昏在地上。张某顺手拿
资产评估报告书有何作用?
《尚书·康诰》中说:“人有小罪。非眚,乃惟终……有厥罪小,乃不可不杀。”这里的惟终是指()。(2014法单15)
Cybercrime’Lovebug’virus,hackattacksanddatatheft,peoplenowadaysarequitefamiliarwiththosewords,astheyareo
最新回复
(
0
)