- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2015年秋季学期
算法与数据结构 课程设计
题 目:1.排序重构问题
2.数据删除问题
3.课程选修问题
专业班级:
姓 名:
学 号:
指导教师:
成 绩:
目 录
摘 要 1
一. 排序重构问题 2
1.采用类语言定义相关的数据类型 2
2.算法设计 2
3.函数的调用关系图 2
4.调试分析 3
5.测试结果 3
6.源程序(带注释) 4
二.数据删除问题 6
1.采用类语言定义相关的数据类型 7
2.算法设计 7
3.函数的调用关系图 7
4.调试分析 8
5.测试结果 8
6.源程序(带注释) 8
三.课程选修问题 11
1.采用类语言定义相关的数据类型 11
2.算法设计 11
3.函数的调用关系图 12
4.调试分析 12
5.测试结果 13
6.源程序(带注释) 17
总 结 24
参考文献 26
致 谢 27
摘 要
此次算法与数据结构课程设计主要解决三个问题,主要为排序重构问题、数据删除问题、课程选修问题。
第一道题是排序重构问题。具体要求是由题目给出的一个顺序序列按照题目给定的相关计算方法得到新的序列,然后对计算方法进行逆推得到新的顺序序列,由于计算方法我们得到的序列并不唯一。
第二道题是数据删除问题。主要实现对重复的数据的删除,采用单链表对数据进行操作和运行等,通过该题的设计过程,可以熟练掌握对随机产生数组和单链表的操作和节点的删除以及递归函数。
第三道题是课程选修问题。学生需要修一定数量的课程才能毕业,而这些课程会有一些必须遵循的选修顺序。假设每个学期都开所有课程,并且学生所修课程数量不限制。给出课程和先修课程的列表,主要实现对对输入的字符串进行重新排序,以最短字符在最前的顺序。可以进一步了解课本上排序的的相关知识。
关键字:数据结构;算法分析;删除;排序;重构
一. 排序重构问题
令A为一个由N个已特殊排序数组成的数列:A1,A2,…,AN,其中A1=0。令B为N(N-1)/2个数(定义为Bij=Ai-Aj(ij))组成的数列。例如,A=0,1,5,8,那么D=1,3,4,5,7,8。请完成:
编写程序,根据A构造D;
编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。(4)
1.采用类语言定义相关的数据类型
数据结构:结构体。
typedef struct
{
int data[MAX]; //一维数组
int flag[MAX]; //表示判断的变量
int size;
}array;
2.算法设计
首先用题目给的顺序序列按照题目给的规律生成序列D,然后根据D生成A,经过分析我们发现后来生成的A里面的元素一定是D里面的元素,即A为D的子集,这样得到算法:
从D里面找到和A的个数一样的元素,然后按照题目给的那个算法生成D1,当D1和D完全相等的时候,我们找到的那几个元素就是A的一个组合。
3.函数的调用关系图
如图所示:
图.1-1
4.调试分析
刚开始看这题时,感觉好难而且编程时还没有思路,后来上网查阅了资料还有和同学们讨论了之后,最终解决了。
由于采用了三重循环进行组合计算,所以算法时间复杂度为O(n^3),空间(n)
5.测试结果
如图所示:
图.1-2
输入:4; 0 1 5 8
输出:B=: 数组:
0 1 5 8
0 3 7 8
满足条件
6.源程序(带注释)
typedef struct
{
int data[MAX];
int flag[MAX];
int size;
}array;
int
CREATE_NEW_A()
{
FILE *fp;
array b,a; //b原始数据存储.a,构造的用于判断的结构体
int i,j,z;
a.data[0]=0;
printf(数组:\n);
for(i=0;ib.size;i++)
for(j=i+1;jb.size;j++)
for(z=j+1;zb.size;z++)
您可能关注的文档
- 南昌大学电子线路设计测试实验报告.doc
- 南昌大学微机原理与接口技术实验报告.doc
- 南京大学mooc认识地球测验.docx
- 南通大学计科院胡彬老师论文.docx
- 培优生-教师用--传感器的原理及应用.doc
- 平面应力集中因素之分析.docx
- 普通心理学重点内容指导.基本知识工业管道.doc
- 普通心理学重点内容指导基本知识工业管道.计算机应用基础.doc
- 普通心理学重点内容指导基本知识工业管道计算机应用基础.税务稽查专业.doc
- 普通心理学重点内容指导基本知识工业管道计算机应用基础税务稽查专业.中国近现代史纲要课后思考题解答.doc
- 分布式控制系统(DCS)系列:Schneider Electric EcoStruxure Foxboro DCS (煤炭工业应用)_6.操作员界面与HMI设计.docx
- 分布式控制系统(DCS)系列:Honeywell Experion PKS (煤炭工业应用)_5.人机界面HMI的设计与优化.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(8).温度控制系统的故障诊断与排除.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(10).NX1P与其他设备的通讯与集成.docx
- 温度控制系统系列:Mitsubishi MELSEC-Q 温度控制模块_(4).温度控制模块硬件结构与接口.docx
- 现场总线控制系统(FCS)系列:Beckhoff EtherCAT (煤炭工业应用)_5. EtherCAT系统架构与工作原理.docx
- 分布式控制系统(DCS)系列:Emerson DeltaV (煤炭工业应用)_(3).DeltaV系统的硬件组成.docx
- 温度控制系统系列:Omron NX1P 温度控制模块_(4).NX1P的工作原理与控制算法.docx
- 温度控制系统系列:Omron CJ2M 温度控制模块_(12).温度控制系统的安全与法规要求.docx
- 温度控制系统系列:Mitsubishi MELSEC-Q 温度控制模块_(9).温度控制应用案例分析.docx
文档评论(0)