




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析实验报告 目 录1、 实验内容描述和功能分析.2、 算法过程设计.3、 程序调试及结果(附截图).4、 源代码(附源代码).1、 实验内容描述和功能分析.1.最长公共子序列内容描述:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X=A,B,C,B,D,B,A,Y=B,D,C,A,B,A,则序列B,C,A是X和Y的一个公共子序列,但它不是X和Y的一个最长公共子序列。序列B,C,B,A也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的一个最长公共子序列,因为X和Y没有长度大于4的公共子序列。 最长公共子序列问题就是给定两个序列X=x1,x2,.xm和Y=y1,y2,.yn,找出X和Y的一个最长公共子序列。 功能分析:输入包含多组测试数据。第一行为一个整数C,表示有C组测试数据,接下来有C行数据,每组测试数据占1行,它由2个给定序列的字符串组成,两个字符串之间用空格隔开. 输出应该有C行,即每组测试数据的输出占一行,它是计算出的最长公共子序列长度。例如:输入: 1 输出:4 ABCBDBA BDCABA2. Minimal m Sums内容描述:给定n 个整数组成的序列,现在要求将序列分割为m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小? 编程任务: 给定n 个整数组成的序列,编程计算该序列的最优m 段分割,使m 段子序列的和的最大值达到最小。功能分析:输入由多组测试数据组成。 每组测试数据输入的第1行中有2个正整数n和m。正整数n是序列的长度;正整数m是分割的段数。接下来的一行中有n个整数。 对应每组输入,输出的每行是计算出的m段子序列的和的最大值的最小值。例如:输入:1 1 输出:10 10 2、 算法过程设计.1.最长公共子序列 最长公共子序列问题是通过定义数组和指针来寻找两者的公共子序列,实现对问题的解决。2.Minimal m Sums 这个问题是通过定以一个一维数组和一个二维数组来实现问题的解决。 三、程序调试及结果(附截图).1.最长公共子序列2.Minimal m Sums四、源代码(附源代码).1.最长公共子序列# include # include #define N 100char a N , b N , str N ;int lcs_len( char *a, char *b, int c N ) int m = strlen( a ), n = strlen( b ), i, j; for( i = 0; i = m; i+ ) c i 0 = 0; for( j = 1; j = n; j+ ) c 0 j = 0; for( i = 1; i = m; i+ ) for( j = 1; j = c i j -1 ) c i j = c i - 1 j ; else c i j = c i j -1 ; return c m n ;char *build_lcs( char s, char *a, char *b ) int k, i = strlen( a ), j = strlen( b ), c N N ;k = lcs_len( a, b, c );/*将c传给lcs_len()计算并求出长度,将中间结果放在c中*/ s k = 0; /*s串的结束标记*/ while( k 0 ) /*开始倒推*/ if( c i j = c i - 1 j ) i -; else if( c i j = c i j -1 ) j-; else s -k = a i - 1 ; /*将一个公共字符存入s中*/ i-; j-; return s;int main() int n,m; scanf(%d,&m); getchar(); while(m-) scanf( %s%s, a,b ); n=strlen(build_lcs( str, a, b ); printf(%dn,n); return 0;2.Minimal m Sums #include using namespace std; int t100; int f100100 ; void s(int n , int m ) int i , j , k , temp , maxt ; for ( i = 1 ; i = n ; i + ) fi1 = fi-11 + ti ; for ( j = 2 ; j = m ; j + ) for(i = j ; i = n ; i + ) for ( k = 1 , temp = 99999999 ; k fkj-1 ? ( fi1 - fk1 ) : fkj-1; if(temp maxt ) temp = maxt ; fij = temp ; int main() int i , n ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省揭阳市空港经济区2026届九上化学期中综合测试试题含解析
- 山东省日照市东港区新营中学2024-2025学年部编版七年级下学期历史期中考试题(含答案)
- 2026届四川省自贡市曙光中学化学九年级第一学期期末达标检测试题含解析
- 2026届广东省茂名市直属学校英语九上期末联考模拟试题含解析
- 2026届福建省厦门市四校化学九年级第一学期期中质量检测试题含解析
- 旅游景区物业经营权及旅游服务合作协议
- 离婚协议书中个人债务分担协议书范本
- 专科康复治疗学考试题及答案
- 珠宝拍卖代理合同及拍卖规则及流程清单
- 专技十三级考试题目及答案
- 2025-2026学年北京版(2024)小学体育与健康三年级全一册《知情绪 善表达》教学设计
- 产前筛查考试题及答案
- 2025年发展对象培训班题库(附含答案)
- 第一讲-决胜十四五奋发向前行-2025秋形势与政策版本-第二讲-携手周边国家共创美好未来-2025秋形势与政策版本
- 2025年浙江省高考地理真题卷含答案解析
- 2025年上海市普通高中学业水平等级性考试物理试卷(原卷版)
- 2025年秋新版八年级上册道德与法治教材“活动课”参考答案
- 2025年一级建造师《铁路实务》考试真题及答案解析
- 临时占用道路施工方案(3篇)
- 业务连续性培训课件
- 医院检验科微生物进修汇报
评论
0/150
提交评论