首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2013年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。 两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进
(2013年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。 两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进
admin
2018-07-27
65
问题
(2013年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
某工程计算中要完成多个矩阵相乘(链乘)的计算任务。
两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算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个矩阵<A
1
,A
2
,…,A
n
>,矩阵Ai的维数为p
i-1
×p
i
,其中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
[j]表示Ai+1*Ai+2*…*Aj+1的最优计算的计算代价
trace[][]:二维数组,长度为n*n,其中元素trace
[j]表示Ai+1*Ai+2*…*Aj+1的最优计算对应的划分位置,即k
(2)函数cmm
#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<n;i++){ cost
=0; }
for(p=1;p<n;p++){
for(i=0;_______(1);i++){
_____(2);
tempCost=-1;
for(k=i;k<j;k++){
temp=______(3);
if(tempCost==-1 ||tempCost>temp){
tempCost=temp;
_______(4);
}
}
cost
[j]=tempCost;
trace
[j]=tempTrace;
}
}
return cost[0][n-1];
}
考虑实例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)。
选项
答案
(7)(A1*A2)*((A3*A4)*(A5*A6)) (8)2010
解析
根据以上分析可知,最优子序列为(A1*A2)*((A3*A4)*(A5*A6)),所需要的乘法运算次数为2010。
转载请注明原文地址:https://kaotiyun.com/show/47DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
目前,通过移动电话接入互联网所采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器,存储资源代码的PC、应用网关、存储私人信息的PC、电子商务系统)中,哪些应放在DMZ中,哪些应放在内网中?并请给予简要说明。
阅读图1所示的某企业的网络结构图,分析网络结构,回答【问题1】~【问题3】,将解答填在横线上。
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
请用蒙特卡罗错误随机植入模型估算出被测程序模块中将会遗留下多少个未被发现的隐藏错误。请简要列出计算式子及计算过程。信息部门的吴总工程师向谢工程师建议了另一种测试方案作为“错误随机植入”测试方法的补充。即由A和B两组测试人员同时相互独立地测试同一份宽带路
阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO
认真阅读下列有关移动用户身份认证技术的说明,根据要求回答问题1至问题4。【说明】随着无线局域网技术、3G移动通信技术的不断发展,网络资源得到了更广泛的利用。由于移动环境下的通信链路比较容易受到恶意攻击或窃听,因此在移动节点与本地代理1之间交换的登
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
认真阅读以下实现VLAN间路由的配置技术说明,根据要求回答问题1至问题6。【说明】当交换机上的VLAN数量很多时,通常会采用路由器快速以太网子接,及IEEE802.1Q封装对VLAN间的数据进行路由。在如图3-12所示的拓扑图中,在交换机
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
随机试题
无民事行为能力人提起上诉的,是否应将其列为上诉人?
灰黄霉素滴丸应选用哪一种冷凝液处方:灰黄霉素1份PEG60009份
患者,男,46岁。因右侧腮腺腺淋巴瘤,行右腮腺部分腺体加肿瘤切除术,术后3天发现患者不能鼓气,口角歪斜,其余无异常。可能原因是术中损伤了
男,67岁,诊断为帕金森病。该病可采用以下药物治疗,但除外
8岁农村男孩,因为腹痛就医,发现蛔虫在其肠道内相互缠绕堵塞肠腔,引起肠梗阻。寄生虫对宿主造成的这种损害是()。
某葡萄酒厂能够生产高、中、低三个档次葡萄酒。为了解投产后的利润情况,财务人员对有关数据进行了预测。测算结果如下表所示:投产后第二年,企业发现高档葡萄酒的市场竞争非常激烈,决定通过电视广告宣传其品牌,当年需投入广告费100万元。同时暂不生产高档葡萄
A.鹅口疮B.红斑型白念C.托牙口炎D.念珠菌白斑E.念珠菌口角炎慢性萎缩型白色念珠菌病()。
应神天皇十六年(285年),五经博士()从百济把文字和儒学正式传入日本。
Inthissectiontherearefourpassagesfollowedbyquestionsorunfinishedstatements,eachwithfoursuggestedanswersmarked
Everyotherweek,newstudiesappearthateithercriticizeorpraisetheroastedbean.Aretheregroundsforconcernunderthef
最新回复
(
0
)