收藏 分享(赏)

计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc

上传人:dreamzhangning 文档编号:2701532 上传时间:2018-09-25 格式:DOC 页数:11 大小:71.50KB
下载 相关 举报
计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc_第1页
第1页 / 共11页
计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc_第2页
第2页 / 共11页
计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc_第3页
第3页 / 共11页
计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc_第4页
第4页 / 共11页
计算机算法分析与设计(第四版)习题算法分析部分详解(实验1).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、实验参考代码 VC+6.0 测试通过/算 法 实 验 1.11.5; 任 选 一 道 实 验 、 写 实 验 报 告 , 当 堂 1分 ; 实 验 报 告 4分 /算 法 实 现 题 1-1 统 计 数 字 问 题 #include #include using namespace std; int main() int count10; int i,j,k,L; int n,len,m; while(scanf(“%d“, L=ceil(log10(n+1); for(i=0;i #include unsigned long dp271, sum17, ans; /本 代 码 实 现 , 字

2、 符 串 长 度 不 超 过 10, 可 解 char str1; void main() int i, j,k,len,start; memset(dp, 0, sizeof(dp); /为 数 组 分 配 空 间 , 并 初 始 化 为 0 memset(sum, 0, sizeof(sum); for(i = 1; i = 1; i-)/dpij以 第 i个 字 母 开 头 的 长 度 为 j的 单 词 个 数 dpij += dpi+1j; dpij += dpi+1j-1; for(i = 1; i =1;j-) for(i=start,k=1;k= stri + 1) ans =

3、-1; printf(“%un“, ans + 1); 实验参考代码 VC+6.0 测试通过算 法 实 现 题 1-3 最 多 约 数 问 题 方 法 一 : #include using namespace std; bool *back; int a,b; int max=0,maxn; void main() cinab; if (ab) coutmax) max=count; maxn=i; cout using namespace std; #define max Max const long MAXP = 100000; 实验参考代码 VC+6.0 测试通过long primMAX

4、P; long max, numb, PCOUNT; /max存 放 最 多 约 数 个 数 , numb存 放 约 数 个 数 最 多 的 数 void primes(); /用 筛 选 法 产 生 质 数 存 于 prim数 组 中 void search(long from, long tot, long num, long low, long up); int main() primes(); long l, u; cin l u; if (l = 1) numb = 1; else max = 2; numb = l; search(1, 1, 1, l, u); cout = 1)

5、 if ( (tot max) | (tot = max) for (long i = from; i up) return; else long j = primi, x = low - 1, y = up, n = num, t = tot, m = 1; while (true) m+; t += tot; x /= j; y /= j; if (x = y) break; n *= j; search(i+1, t, n, x+1, y); m = 1 #include using namespace std; const int size = 100; int k,n,m,ccoun

6、t,best; int b0size+1size+1,b1size+1size+1,bsize+1size+1; bool found; void print() for(int i = 1; i k; for(int i = 1; i n m;/n行 m列 /原 状 态 b0 for( x = 1; x b0xy; /目 标 状 态 b1 for( x = 1; x b1xy; acpy(b,b1);/b1复 制 到 b best = m + n + 1; for( j = 1; j using namespace std; const int MAX=200001; double numM

7、AX; bool run() int n; if(scanf(“%d“,/ctrl + z回 车 退 出 int i; double max=0.0,min=INT_MAX;/大 值 初 始 化 为 最 小 , 小 值 初 始 化 为 最 大 for(i=0;imax) max=numi; if(numihightmp) hightmp=numi;/修 改 桶 边 界 if(numi0)/桶 中 有 数 字 才 进 行 检 查 , 无 数 字 跳 过 实验参考代码 VC+6.0 测试通过double tmp=lowi-t; if(tmpres) res=tmp; t=highi; coutre

8、sendl; return true; int main() while(run(); return 0; 附:实验(设计)报告参考格式设计一多段图问题的动态规划算法与实现班级 学号 姓名 成绩 分一、 设计目的1. 掌握有向网的成本邻接矩阵表示法;2. 掌握多段图问题的动态规划递推算法;3. 进一步掌握动态规划法的基本思想和算法设计方法;二、 设计内容1 任务描述1)多段图问题简介2)设计任务简介设计求解多段图问题的动态规划算法,即设计和实现多段图问题的表示方案、动态规划递推算法,设计对算法或程序的测试方案并完成测试。实验参考代码 VC+6.0 测试通过2 多段图问题的表示方案本设计采用成本

9、邻接矩阵表示多段图,针对多段图(可插入图例)描述成本邻接矩阵的规模与元素意义3 递推过程的抽象描述本设计采用前向或后向递推公式。用自然语言、伪程序设计语言或流程图等形式针对多段图问题的求解(抽象地)描述递推过程4 主要数据类型与变量typedef NodeNumber int; /* 节点编号 */typedef CostType int; /* 成本值类型 */CostType costnn=; /* 成本邻接矩阵, n 为顶点数 */NodeNumber pathk; /* k 段图最短路径上的节点编号数组 */NodeNumber cur= -1; /* 当前邻接节点 */(必要时,可对

10、数据类型和变量进一步解释或说明,增加可读性)5 算法或程序模块int FindForward(CostType *costn, NodeNumber i, NodeNumber cur)功能: 根据邻接矩阵查找节点 i 的下一个前向邻接节点, 成功时返回节点编号, 否则返回-1; cur 为当前的前向邻接节点, 第一次调用时其值为 -1.int FindBackward(CostType *costn, NodeNumber i, NodeNumber cur)功能: 根据邻接矩阵查找节点 i 的下一个后向邻接节点, 成功时返回节点编号, 否则返回-1; cur 为当前的后向邻接节点, 第一次调用时其值为-1.(必要时,可对算法或程序模块进一步解释或说明,增加可读性)三、 测试1 方案描述测试方案、测试模块、测试数据实例(文字数据、图或表等形式)2 结果结合测试数据实例描述测试过程和测试结果,最好给出表示测试过程和结果的抓图,对测试结果进行分析并得出结论。四、 总结与讨论可针对本设计谈体会、谈改进、谈设想等,展示你的概括、归纳和创新思维能力,看重的不是你的对与错,而是鼓励你的想象和创新思维。附:程序模块的源代码

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报