首页 算法实验报告,二分搜索,矩阵联乘,最长公共子序列

算法实验报告,二分搜索,矩阵联乘,最长公共子序列

举报
开通vip

算法实验报告,二分搜索,矩阵联乘,最长公共子序列算法实验报告,二分搜索,矩阵联乘,最长公共子序列 实验报告 实验一: 一、实验名称 二分搜索法 二、实验目的 编写程序实现用二分法在一有序序列中查找一个数 三、实验内容 1、程序源代码 #include int Research(int a[],int x,int n) { int left=0,right=n-1,mid; if(n>0&&x>=a[0]) { while(left=0) printf("%d 在数组中的下标为 %d!\n\n",x,j); else printf...

算法实验报告,二分搜索,矩阵联乘,最长公共子序列
算法 实验报告 化学实验报告单总流体力学实验报告观察种子结构实验报告观察种子结构实验报告单观察种子的结构实验报告单 ,二分搜索,矩阵联乘,最长公共子序列 实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 实验一: 一、实验名称 二分搜索法 二、实验目的 编写程序实现用二分法在一有序序列中查找一个数 三、实验内容 1、程序源代码 #include int Research(int a[],int x,int n) { int left=0,right=n-1,mid; if(n>0&&x>=a[0]) { while(left=0) printf("%d 在数组中的下标为 %d!\n\n",x,j); else printf("没找到!\n\n"); } main() { Input(); } 2、实验结果 输入数组长度 n :5 输入数组长度 n :4 输入有序数组(升序): 输入有序数组(升序): a[0]:1 a[0]:1 a[1]:3 a[1]:2 a[2]:5 a[2]:3 a[3]:7 a[3]:4 a[4]:9 输入要查询的数字:2 输入要查询的数字:6 2 在数组中的下标为 1! 没找到! Press any key to continue Press any key to continue 实验二 一、实验名称 矩阵连乘求最小计算次数 二、实验目的 编写程序用动态规划法计算矩阵连乘的最优值 三、实验内容 1、实验源代码 #include #define MAX 100 int main() { int p[MAX],i,j,k,r,t,n; int m[MAX][MAX]; //记录从第i到第j个矩阵连乘的最少计算次数 int s[MAX][MAX]; //记录从第i到第j个矩阵连乘的断开位置 printf("输入连乘矩阵的个数:"); scanf("%d",&n); for(i=0;i #include void LCSLength(int m, int n, char *x, char *y, int (*c)[20], int (*b)[20]) { int i,j; for(i = 0; i <= m; i ++) { c[i][0] = 0; } for(i = 0; i <= n; i ++) { c[0][i] = 0; } for(i = 1; i <= m; i ++) { for(j = 1; j <= n; j ++) { if(x[i] == y[j]) { c[i][j] = c[i-1][j-1] + 1; b[i][j] = 1; } else if(c[i - 1][j] >= c[i][j - 1]) { c[i][j] = c[i - 1][j]; b[i][j] = 2; } else { c[i][j] = c[i][j - 1]; b[i][j] = 3; } } } } void LCS(int i,int j,char *x, int (*b)[20]) { if(i == 0 || j == 0) return; if(b[i][j] == 1) { LCS(i - 1, j - 1, x, b); printf("%c",x[i]); } else if(b[i][j] == 2) LCS(i - 1, j, x, b); else LCS(i, j - 1, x, b); } int main() { char X[20], Y[20]; int b[20][20],c[20][20]; int m,n; X[0] = Y[0] = '$'; printf("请输入字符串X的内容:"); gets(&X[1]); printf("请输入字符串Y的内容:"); gets(&Y[1]); m = strlen(X); n = strlen(Y); printf("字符串X的长度是%d,字符串Y的长度是%d\n",m,n); LCSLength(m, n, X, Y, c, b); printf("最长的公共子序列是:\n"); LCS(m, n, X, b); return 0; } 2、实验结果 请输入字符串X的内容:acbdhgyeiop 请输入字符串Y的内容:nibgdsbcdg 字符串X的长度是11,字符串Y的长度是10 最长的公共子序列是:bg 。
本文档为【算法实验报告,二分搜索,矩阵联乘,最长公共子序列】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:9
分类:生活休闲
上传时间:2017-09-18
浏览量:34