首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,根据要求回答问题1~问题3。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算Am×n*Bn×p,需要m
阅读以下说明和C代码,根据要求回答问题1~问题3。 【说明】 某工程计算中要完成多个矩阵相乘(链乘)的计算任务。两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算Am×n*Bn×p,需要m
admin
2014-11-13
86
问题
阅读以下说明和C代码,根据要求回答问题1~问题3。
【说明】
某工程计算中要完成多个矩阵相乘(链乘)的计算任务。两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算A
m×n
*B
n×p
,需要m*n*p次乘法运算。矩阵相乘满足结合律,多个矩阵相乘,不同的计算顺序会产生不同的计算量。以矩阵A
110×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个矩阵
n>,矩阵A
i
的维数为P
i-1
×P
i
,其中i=1,2,…,n。确定一种乘法顺序,使得这n个矩阵相乘时进行乘法的运算次数最少。由于可能的计算顺序数量非常庞大,对较大的n,用蛮力法确定计算顺序是不实际的。经过对问题进行分析,发现矩阵链乘问题具有最优子结构,即若AI*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+l的最优计算的计算代价
trace[][]:二维数组,长度为n*n,其中元素trace
[j]表示Ai+1*Ai+2:i:…*Aj+1的最优计算对应的划分位置,即k
(2)函数cmm
#define N 100
int cost [N]IN];
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 j p
for(i=0; (1) ;i++){
(2);
tempCost=一1;
for(k=i;k
temp= (3);
i f(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/BpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持root用户执行psaux|grepinit命令,得到init的PID是______。A.0
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
阅读下面的说明,回答问题1至问题4。【说明】某企业园区网采用了三层架构,按照需求,在网络中需要设置VLAN、快速端口、链路捆绑、Internet接入等功能。该园区网内部分VLAN和IP地址如表12-2所示。表12-2
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
阅读以下说明,回答问题1至问题5。【说明】某网络拓扑结构如图3-1所示,DHCP服务器分配的地址范围如图3-2所示。
阅读以下说明,回答问题1至问题4。【说明】某学校欲构建校园网,根据实际情况,计划在校园总部采用有线网络和无线网络相结合的接入方式,校园分部通过Internet采用VPN技术与校园总部互联,该校园网的网络拓扑结构如图1-1所示。
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
请在(1)、(2)、(3)、(4)空白处填写恰当的内容。Web客户机与服务器共同遵守(1)协议,其工作过程是;Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返
随机试题
激素:
下列选项中,不应纳入非税收收入管理的是()。
下列属于公司董事会职责的有()。[2015年10月真题]
在社会服务方案策划的目标制定阶段,目标优先次序的界定主要需要考虑的是()。
下列歌谣中,不能反映民国初年社会风尚的是()。
真理和谬论相互贯通的含义是指()。
有8人要在某学术报告会上做报告,其中张和李希望被安排在前三个做报告,王希望最后一个做报告,赵不希望在前三个做报告,其余4人没有要求。如果安排做报告顺序时要满足所有人的要求,则共有多少种可能的报告序列?
右边的四个图形中,只有一个是由左边的四个图形拼合而成的,请选出来。
【B1】【B2】
______,themostcontroversialcandidateintheelectioncampaign,hehasbeenstronglycriticizedforhiscrudecommentsabout
最新回复
(
0
)