网站大量收购独家精品文档,联系QQ:2885784924

数据结构与算法说明书要点.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法说明书要点

数据结构与算法课程设计 题 目: 求素数问题 猴子吃桃问题 跳马问题 排序重构问题 。 目 录 目 录 2 摘 要 4 一.求素数问题 5 1.数据结构设计 5 2.算法设计 5 3.调试分析 6 4.测试结果 6 5.源程序(带注释) 6 二.构造可以使n个城市连接的最小生成树 8 1.数据结构设计 9 2.算法设计 9 3.调试分析 10 4.测试结果 11 5.源程序(带注释) 12 三.猴子吃桃问题 19 .数据结构设计 19 2.算法设计 19 3.调试分析 21 4.测试结果 21 5.源程序(带注释) 22 4.排序重构问题 24 1.数据结构设计 24 2.算法设计 24 3、流程图如下: 25 4、调试分析 25 5、测试结果 25 6、源程序(带注释) 26 总 结 30 参考文献 31 致 谢 31 摘 要 此报告是关于四个问题的设计:求素数问题、猴子吃桃子问题、跳马问题、哈夫曼的编/译码系统。 求素数问题。埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。从建立一个整数2~N的表着手,寻找i?的整数,编程实现此算法,并讨论运算时间。(1) 猴子吃桃子问题。有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。要求:1)采用数组数据结构实现上述求解;2)采用链式数据结构实现上述求解;3)采用递归实现上述求解。(2) 跳马问题。要求在64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。(3) 4.排序重构问题。令A为一个由N个已特殊排序数组成的数列:A1,A2,…,AN,其中A1=0。令B为N(N-1)/2个数(定义为Dij=Ai-Aj(ij))组成的数列。例如,A=0,1,5,8,那么D=1,3,4,5,7,8。请完成: 编写程序,根据A构造D; 编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。。 1)编译的语言:C语言 2)编译环境:Visual C++ 6.0 关键词:递归,链表,栈和队列,猴子吃桃,跳马,排序重构 C语言 数据结构 顺序表 链表 数组 一.求素数问题 埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。从建立一个整数2~N的表着手,寻找i?的整数,编程实现此算法,并讨论运算时间。(1) 1.数据结构设计 定义一个线性表顺序存储结构,用来求所有小于N的素数 typedef int DataType;//数据类型 typedef struct{ DataType data[maxsize]; 定义一个一维数组 int length;//线性表中实际元素的个数 }Seqlist; 2.算法设计 用一个循环结构判断是否为素数,如果是素数则返回1,负责返回0。 int sushu(DataType i) { int m; if(i==1) return 0;//不是素数 for(m=2;mi;m++) { if(i%m==0) return 0;//不是素数 } return 1;//判断为素数,返回为1 } 3.调试分析 断一个数是否为素数的问题,例如数字I,求解其2-i-1 求余数,若为0,则不是素数,相反为素数。 时间复杂度的分析:算法的时间复杂度O(L.length-1)+O(m)。 4.测试结果 图1 数问题截图 程序运行结果如图所示,当输入素数5时,显示出1-5之间的素数2,3,5. 5.源程序(带注释) #include stdio.h #include math.h #define maxsize 200 #define FALSE 0 typedef int DataType; typedef struct{ DataType data[maxsize]; int length; }Seqlist;//结点结构 int sushu(DataType i) { int m; if(i==1) return 0; for(m=2;mi;m++) { if(i%m==0) return 0; } return 1; } int m; int j;int i= 0; int k=0;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档