- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析实验4报告
《算法设计与分析》实验报告
目 录
实验内容描述和功能分析.
算法过程设计.
程序调试及结果(附截图).
源代码(附源代码).
实验内容描述和功能分析.
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行,即每组测试数据的输出占一行,它是计算出的最长公共子序列长度。
例如:输入:
ABCBDBA BDCABA
Minimal m Sums
内容描述:给定n 个整数组成的序列,现在要求将序列分割为m 段,每段子序列中的数在原序列中连续排列。如何分割才能使这m段子序列的和的最大值达到最小? 编程任务: 给定n 个整数组成的序列,编程计算该序列的最优m 段分割,使m 段子序列的和的最大值达到最小。
功能分析:输入由多组测试数据组成。 每组测试数据输入的第1行中有2个正整数n和m。正整数n是序列的长度;正整数m是分割的段数。接下来的一行中有n个整数。
对应每组输入,输出的每行是计算出的m段子序列的和的最大值的最小值。
例如:输入:1 1 输出:10
10
算法过程设计.
1.最长公共子序列
最长公共子序列问题是通过定义数组和指针来寻找两者的公共子序列,实现对问题的解决。
2.Minimal m Sums
这个问题是通过定以一个一维数组和一个二维数组来实现问题的解决。
三、程序调试及结果(附截图).
1.最长公共子序列
2.Minimal m Sums
四、源代码(附源代码).
1.最长公共子序列
# include stdio.h
# include string.h
#define N 100
char 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 = n; j++ )
if( a[ i - 1 ] == b[ j - 1 ]) c[ i ][ j ] = c[ i - 1 ][ j - 1 ] + 1;
else if( c[ i - 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 --;
您可能关注的文档
- 第4课自强学案(含答案).doc
- 第5单元复习教案.doc
- 第5单元教材单元分析2003.doc
- 第5单元测试卷2.doc
- 高二数学选修4–44.4.1曲线参数方程的意义ppt.ppt
- 第5单元测试卷MicrosoftWord文档.doc
- 高二期末第1学期家长会.pptx
- 第5单元透镜及其应用试题.doc
- 第4组–Hola–开题报告–学习的类型与学习者的个性差异–李淑娴–梁博煜–夏婷婷–张巍巍–麦景志–罗冠进–梁海龙.doc
- 高二数学选修1–1第一章用逻辑用语课件.ppt
- 地理信息科学_第三次农业普查影像数字化项目.pdf
- 土地利用变化分析实验.docx
- 2025年中考语文二轮复习备考:小说阅读理解提高练(含答案).docx
- 2025年黑龙江省哈尔滨市中考一模英语试题2(含答案).docx
- 2024-2025学年高一(下)期中语文试卷(含解析).docx
- 贵州省毕节市金沙县第四中学2024-2025学年春季学期第一次月考考试试卷七年级语文(含答案).docx
- 2025年人教版九年级中考英语语法专题练习 特殊句型(含答案).docx
- 2025年湖北省襄阳市襄州区中考二模语文试题(含答案).docx
- 贵州省安顺市2025届高三下学期4月适应性考试语文试题(含答案).docx
- 湖北省仙桃市田家炳实验高级中学2024-2025学年高一下学期4月期中考试语文试题(含答案).docx
最近下载
- 中医禁食疗法专家共识(2019).pptx
- 中医基础理论 (一).pdf VIP
- (PEP)人教版六年级下册英语《Unit 3 Part C Story time》教学设计5.docx VIP
- 2024年全国国家版图知识测试竞赛(中小学组)题库及答案.doc
- 中考数学二轮重难点复习讲义模型27 托勒密定理(原卷版) .doc
- 2024年广东省肇庆市怀集县小升初英语试卷附答案解析.docx
- 辽宁农业职业技术学院2024年单招复习题库(中职毕业生)-药品经营与管理、中药学(选择题80道).docx
- 2022年10月深圳市资本市场学院招考5名工作人员5笔试参考题库含答案详解.docx
- 降低施工用电安全隐患_建筑安全SC小组课题PPT.pptx
- 青岛市第十七届职业技能大赛数字建造(世赛选拔)技术工作文件 .pdf
文档评论(0)