- 2
- 0
- 约3.68千字
- 约 7页
- 2021-03-06 发布于天津
- 举报
《算法设计与分析》实验报告
一、 实验内容描述和功能分析
二、 算法过程设计?
三、 程序调试及结果(附截图)
四、 源代码(附源代码)?
亠、实验内容描述和功能分析
1.矩阵连乘问题
内容描述:给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的, i=1,2 ,…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次 序计算矩阵连乘积需要的数乘次数最少。
功能分析:输入包含多组测试数据。第一行为一个整数 C,表示有C 组测试数据,接下来有2*C行数据,每组测试数据占2行,每组测试 数据第一行是1个整数n,表示有n个矩阵连乘,接下来一行有n+1 个数,表示是n个矩阵的行及第n个矩阵的列,它们之间用空格隔开。 输出应该有C行,即每组测试数据的输出占一行,它是计算出的矩阵 最少连乘积次数。
输出:7500例如:输入:
输出:7500
3
10 100 5 50
2.Pebble Merging 内容描述:在一个圆形操场的四周摆放着n堆石子。现要将石子有 次序地合并成一堆。规定每次只能选相邻的 2堆石子合并成新的一 堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计 算出将n堆石子合并成一堆的最小得分和最大得分。
编程任务:
对于给定n堆石子,编程计算合并成一堆的最小得分和最大得分。
功能分析:输入由多组测试数据组成。 每组测试数据输入的第1行 是正整数n, 1 n 100,表示有n堆石子。第二行有n个数,分别 表示每堆石子的个数。
对应每组输入,输出的第1行中的数是最小得分;第2行中的数是 最大得分。
输出:43例如:输入:
输出:43
4 4 5 9
二、算法过程设计
1.矩阵连乘问题
矩阵连乘问题是通过设置数组,利用数组的横竖坐标来进行矩 阵对应行与列的计算。
2.Pebble Merging
这个问题也是跟数组相关,通过寻找数组中的最大和最小值来进 行计算。
三、程序调试及结果(附截图)
矩阵连乘问题
2.Pebble Merging
四、源代码(附源代码).
矩阵连乘问题
#i nclude stdio.h
int main()
{ int a[ 50 ] , b[ 50 ][ 50 ] , c[ 50 ][50 ] , z , n;
int i , r , j , k , t;
sca nf(%d, z);
while (z --)
{ scan f(%d,n);
for (i = 0 ; i = n ; ++ i) scan f(%d, a[ i ]);
for (i = 1 ; i = n ; ++ i) b[ i ][ i ] = 0;
for (r = 2 ; r = n ; ++ r)
for (i = 1 ; i = n - r + 1 ; ++ i)
{ j = i + r - 1;
b[ i ][ j ] = b[i + 1][ j ] + a[i - 1] * a[ i ] * a[ j ];
c[ i ][ j ] = i;
for (k = i + 1 ; k j ; ++ k)
{ t = b[ i ][ k ] + b[k + 1][ j ] + a[i - 1] * a[ k ] * a[ j ];
if (t b[ i ][ j ])
b[ i ][ j ] = t , c[ i ][ j ] = k;
}
}
printf (%d\n , b[ 1 ][ n ]);
}
return 0;
}
Pebble Merging
#i nclude stdio.h
int main()
{ int dpmi n[ 200 ][ 200 ] , min[ 200 ][ 200 ] , mins;
int dpmax[ 200 ][ 200 ] , max[ 200 ][ 200 ] , maxs;
int a[ 200 ] , i , n , j , k , temp , l;
while (sca nf (%d , n) != EOF)
{ for (i = 1 ; i = n ; ++ i) sca nf (%d , a[ i ]);
for (i = 1 ; i n ; ++ i) a[i + n] = a[ i ];
for (i = 1 ; i 2 * n ; ++ i)
{ mi n[ i ][ i ] = max[ i ][ i ] = 0;
dpmax[ i ][ i ] = dpmi n[ i ][ i ] = a[ i ];
dpmax[ i ][i + 1] = dpmi n[ i ][i + 1] = a[ i ] + a[i + 1];
min[ i ][i + 1] = max[ i ][i + 1] = a[ i ] + a[i +
您可能关注的文档
- 第四章第四节输血和血型.docx
- 第四章铁碳合金复习题.docx
- 第四章部分题目.docx
- 第四节主观题分类讲解之原因类试题.docx
- 第四节力的合成.docx
- 第四章缓冲溶液练习题.docx
- 第四章酰化反应练习题.docx
- 第四讲拼拼摆摆(2).docx
- 第四讲欧姆定律.docx
- 第四讲有关方程组的问题.docx
- 2025年北京市门头沟区中考一模英语试题.docx
- 2025年北京市门头沟区中考二模英语试题.docx
- 2025年北京市丰台区中考二模英语试题.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 解析卷.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 原卷.docx
- 2025年肩颈按摩仪行业社媒趋势数据分析.docx
- 2025年人身险行业信用回顾与2026年展望.docx
- 合同法买卖合同培训课件.ppt
- 2025年全球食物系统与SDG研究报告-食物供给、食者健康、生态平衡的整体治理.docx
- 2025下半年四川乐山市川投峨眉铁合金(集团)有限责任公司对考前自测高频考点模拟试题最新.docx
最近下载
- 西门子S7-1200 PLC编程与应用 第2版 参考试卷.docx VIP
- 西门子S7-1200 PLC编程与应用第2版参考试卷B附答案.doc VIP
- 西门子S7-1200 PLC编程与应用第2版参考试卷A附答案.docx VIP
- 制鞋技术之成型后段技术培训教材01.pdf VIP
- 【新教材】人教PEP版(2024)四年级下册英语全册教案(含教学计划).docx
- 西门子S7-1200PLC编程与应用(第2版)刘华波课后习题答案.docx
- 云计算导论-全套PPT课件.pptx
- 智能网联汽车导航定位技术PPT全套完整教学课件.pptx
- 人教PEP版四年级下册英语全册教学设计(配2026年春改版教材).docx
- 一、什么是西部计划.doc VIP
原创力文档

文档评论(0)