数据结构课程设计级幻灯片.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构课程设计级幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据结构课程设计级幻灯片.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计级第1页,共56页,编辑于2022年,星期六二、数据结构课程设计要求二、数据结构课程设计要求1.学生必须仔细阅读数据结构课程设计方案,认真主动完成学生必须仔细阅读数据结构课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。课设的要求。有问题及时主动通过各种方式与教师联系沟通。2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。师汇报。3.课程设计按照教学要求需要两周时间
2、完成(课程设计按照教学要求需要两周时间完成(2周共十天)。周共十天)。第2页,共56页,编辑于2022年,星期六三、实习基本内容三、实习基本内容 本次课程设计完成如下模块(共本次课程设计完成如下模块(共23个模块,个模块,学生可以在其中至少挑选学生可以在其中至少挑选5-6个功能块完成,个功能块完成,其中其中8、9、10、13在做在做5个以下不算数,个以下不算数,5个以上算数个以上算数)第3页,共56页,编辑于2022年,星期六1校园导游程序校园导游程序 问题描述:用无向网表示你所在学校的校园景点平面图,问题描述:用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称
3、、简介等图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。要求能够回答有关景点介绍、游览路径等问题。基本要求:查询各景点的相关信息;查询图中任意两个景点间基本要求:查询各景点的相关信息;查询图中任意两个景点间的最短路径;查询图中任意两个景点间的所有路径;增加、删的最短路径;查询图中任意两个景点间的所有路径;增加、删除、更新有关景点和道路的信息。除、更新有关景点和道路的信息。选作内容:选作内容:求多个景点的最佳(最短)游览路径。求多个景点的最佳(最短)
4、游览路径。区分机动车道和人行道。区分机动车道和人行道。实现导游图的仿真界面。实现导游图的仿真界面。第4页,共56页,编辑于2022年,星期六数据结构:数据结构:typedef struct messageint num;/景点代码char name100;/景点名称char pro500;/简介Ciceroni;第5页,共56页,编辑于2022年,星期六Ciceronischool10=1,行政楼行政楼n,2,食堂食堂n,3,赛博楼赛博楼,信息分院办公室所在地信息分院办公室所在地n,4,求是求是楼楼,实验楼计算机中心实验楼计算机中心n,5,格致楼格致楼,法学管理学院法学管理学院,6,工程实习中
5、心工程实习中心,金工实习金工实习n,7,仰仪楼仰仪楼,机电机电计测分院计测分院n,8,体育馆体育馆,旁边有篮球场旁边有篮球场足球场足球场还有网还有网球场球场n,9,一号教学楼,主要以阶梯教室为主一号教学楼,主要以阶梯教室为主n,10,二号教学楼,小教室为多二号教学楼,小教室为多n;/*景点名称景点名称和简介和简介*/操作:操作:/*给景点之间的路径赋最大值给景点之间的路径赋最大值*/*最短路径的最短路径的C语言函数语言函数*/*输出最短路径和最短距离函数输出最短路径和最短距离函数*/*输入景点代码查景点名称和简介输入景点代码查景点名称和简介*/*输入景点代码查到其它景点的最短距离输入景点代码查
6、到其它景点的最短距离*/第6页,共56页,编辑于2022年,星期六2员工管理系统员工管理系统问题描述:问题描述:每个员工的信息包括:编号、姓名、每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、系统能够完成员工信息的查询、更新、插入、删除、排序等功能。删除、排序等功能。基本要求:基本要求:排序:排序:按不同关键字,对所有员工按不同关键字,对所有员工的信息进行排序;的信息进行排序;查询:查询:按特定条件查找员工;按特定条件查找员工;更新:更新:按编号对某个员工的某项信息进行修改;按编号对某个
7、员工的某项信息进行修改;插入:插入:加入新员工的信息;加入新员工的信息;删除:删除:按编号删除按编号删除已离职的员工的信息。已离职的员工的信息。选作内容:实现图形用户界面。选作内容:实现图形用户界面。第7页,共56页,编辑于2022年,星期六要求通过链表实现要求通过链表实现数据结构:数据结构:structworkerscharname15;/姓名姓名chardepartment18;/单位单位chargender;/性别性别unsignedintage;/年龄年龄unsignedlongtelephone;/电话电话unsignedlongwage;/工资工资unsignedlongnum;/
8、职工号职工号structworkers*next;第8页,共56页,编辑于2022年,星期六操作实现:操作实现:/*插入职工信息,通过链表实现插入职工信息,通过链表实现*/*具体实现职工信息的插入具体实现职工信息的插入*/*对职工信息的删除操作对职工信息的删除操作*/*修改操作修改操作*/*实现对员工信息的查找实现对员工信息的查找*/*排序排序*/*输出员工信息输出员工信息*/*显示职工工资情况显示职工工资情况计算平均工资计算平均工资*/第9页,共56页,编辑于2022年,星期六3算术表达式求值算术表达式求值问题描述:问题描述:一个算术表达式是由操作数一个算术表达式是由操作数(operand)
9、、运、运算符算符(operator)和界限符和界限符(delimiter)组成的。假设操作组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符符有左右括号和表达式起始、结束符“#”,如:,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是。引入表达式起始、结束符是为了方便。编程利用为了方便。编程利用“算符优先法算符优先法”求算术表达式的值。求算术表达式的值。基本要求:基本要求:从键盘读入一个合法的算术表达式,输出正确从键盘读入一个合法的算术表达式,输出正确的结果;显示输入序列和栈的变化过
10、程。的结果;显示输入序列和栈的变化过程。(3.14159/2+sqrt(1/32+4)+1/22*ln(1/1.1*(2+sqrt(1/32+4)*23.45;选作内容选作内容:扩充运算符集合;引入变量操作数;操作:扩充运算符集合;引入变量操作数;操作数类型扩充到实数。数类型扩充到实数。第10页,共56页,编辑于2022年,星期六4运动会分数统计运动会分数统计 任务:任务:参加运动会有参加运动会有n个学校,学校编号为个学校,学校编号为1,n。比。比赛分成赛分成m个男子项目,和个男子项目,和w个女子项目。项目编号为男子个女子项目。项目编号为男子1m,女子,女子m+1m+w。不同的项目取前五名或前
11、三名。不同的项目取前五名或前三名积分;取前五名的积分分别为:积分;取前五名的积分分别为:7、5、3、2、1,前三名,前三名的积分分别为:的积分分别为:5、3、2;哪些取前五名或前三名由学生;哪些取前五名或前三名由学生自己设定。自己设定。(m=20,n=2,请输男生项目总数,请输男生项目总数m=20,请输女生项目总数,请输女生项目总数k=20)/项目资料项目资料:请输入男生项目信息:项目名称请输入男生项目信息:项目名称;项目编号项目编号;该项目的参与人数该项目的参与人数请输入女生项目信息:项目名称请输入女生项目信息:项目名称;项目编号项目编号;该项目的参与人数该项目的参与人数/添加学生数据添加学
12、生数据intSchoolCount=0;/学校总数学校总数intboyCount=0;/男生项目男生项目总数总数intgirlCount=0;/女生项目女生项目总数总数intxm_Count=0;/项目项目总数总数XM_TABLExm_T41;/项目表项目表主要实现:主要实现:参数设置参数设置;添加学生添加学生;统计统计;学校查询学校查询;项目查询项目查询;等功能。等功能。第15页,共56页,编辑于2022年,星期六5一元多项式计算一元多项式计算任务:任务:能够按照指数降序排列建立并输出多项式;能够能够按照指数降序排列建立并输出多项式;能够完成两个多项式的完成两个多项式的相加、相乘,相加、相乘
13、,并将结果输出;并将结果输出;在上交资料中请写明:在上交资料中请写明:存储结构、多项式相加的基本过存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;结果、算法的时间复杂度、另外可以提出算法的改进方法;设有一元多项式设有一元多项式Am(x)和和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+AmxmBn(x)=B0+B1x1+B2x2+B3x3+Bnxn请实现求请实现求M(x)=Am(x)+Bn(x)、M(x)=Am(x)-Bn(x)和和M(x)=Am(x
14、)Bn(x)。第16页,共56页,编辑于2022年,星期六要求:要求:1)首先判定多项式是否稀疏首先判定多项式是否稀疏2)分别采用顺序和动态存储结构实现;分别采用顺序和动态存储结构实现;3)结果结果M(x)中无重复阶项和无零系数项;中无重复阶项和无零系数项;4)要求输出结果的升幂和降幂两种排列情要求输出结果的升幂和降幂两种排列情况况第17页,共56页,编辑于2022年,星期六6订票系统订票系统任务:任务:通过此系统可以实现如下功能:通过此系统可以实现如下功能:录入:录入:可以录入航班情况(数据可以存储在可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)一个数据文件中,数据
15、结构、具体数据自定)查询:查询:可以查询某个航线的情况(如,输入可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓)班票价,票价折扣,确定航班是否满仓)可以输入起飞抵达城市,查询飞机航班情况;可以输入起飞抵达城市,查询飞机航班情况;第18页,共56页,编辑于2022年,星期六订票:订票:(订票情况可以存在一个数据文件中,(订票情况可以存在一个数据文件中,结构自己设定)结构自己设定)可以订票,如果该航班已经无票,可以提供可以订票,如果该航班已经无票,可以提供相关可选择航班;相关可选择航班;退票:退票:可退
16、票,退票后修改相关数据文件;可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。情况,订单要有编号。修改航班信息:修改航班信息:当航班信息改变可以修改航当航班信息改变可以修改航班数据文件班数据文件要求:要求:根据以上功能说明,设计航班信息,根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;订票信息的存储结构,设计程序完成功能;第19页,共56页,编辑于2022年,星期六航班信息数据结构航班信息数据结构typedefcharkeytype;/航班信息结构航班信息结构typedefstructchars
17、tart6;/起点站起点站charend6;/终点站终点站charsche10;/航班期航班期chartime15;/起飞时间起飞时间chartime25;/到达时间到达时间charmodel4;/机型机型intprice;/票价票价infotype;第20页,共56页,编辑于2022年,星期六/定义航班节点定义航班节点typedefstructkeytypekeyskeylen;/航班号航班号infotypeothers;/航班信息航班信息intnext;/下一航班下一航班slnode;/航班表航班表(静态链表静态链表)typedefstructslnodeslmaxspace;intkey
18、num;intlength;sllist;第21页,共56页,编辑于2022年,星期六操作实现:操作实现:(1)录入航班信息:)录入航班信息:(2)查询航班信息:)查询航班信息:可以查询某个航线的情况(如,输入航班号,查询起可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);是否满仓);可以输入起飞抵达城市,查询飞机航班情况;可以输入起飞抵达城市,查询飞机航班情况;航班信息查询系统:航班信息查询系统:可以按:可以按:1.航班号航班号;2.起点站;起点站;3.终点站;终点站;4.起飞时间起飞
19、时间;5.到达时间到达时间;第22页,共56页,编辑于2022年,星期六以下选作:以下选作:(3)航班订票:航班订票:(订票情况可以存在一个数据文件中,(订票情况可以存在一个数据文件中,结构自己设定)结构自己设定)可以订票,如果该航班已经无票,可以提供相关可可以订票,如果该航班已经无票,可以提供相关可选择航班;选择航班;(4)航班退票:航班退票:可退票,退票后修改相关数据文件;可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。要有编号。(5)修改航班信息:修改航班信息:当航班信息改变可以修改航班数据文件当航
20、班信息改变可以修改航班数据文件注:因为航班号为两位字母后跟数字,所以在排序时注:因为航班号为两位字母后跟数字,所以在排序时应该使用应该使用多关键字的基数排序多关键字的基数排序对航班号进行排序。对航班号进行排序。第23页,共56页,编辑于2022年,星期六7迷宫问题求解迷宫问题求解任务:任务:可以输入一个任意大小的迷宫数据,可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,用非递归的方法求出一条走出迷宫的路径,并将路径输出;并将路径输出;要求:要求:在上交资料中请写明:存储结构、基在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、本算法(可以使用程序流程图
21、)、源程序、测试数据和结果、算法的时间复杂度、另外测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;可以提出算法的改进方法;第24页,共56页,编辑于2022年,星期六8文章编辑(不算)文章编辑(不算)功能:输入一页文字,程序可以统计出文字、数字、空格的功能:输入一页文字,程序可以统计出文字、数字、空格的个数。个数。静态存储一页文章,每行最多不超过静态存储一页文章,每行最多不超过80个字符,共个字符,共N行;要求行;要求分别统计出其中英文字母数和空格数及整篇文章总字数;分别统计出其中英文字母数和空格数及整篇文章总字数;统计某一字符串在文章中出现的次数,并输出该次数;统计某一字符串在
22、文章中出现的次数,并输出该次数;删除删除某一子串,并将后面的字符前移。某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。任何数字及标点符号。输出形式:输出形式:分行输出用户输入的各行字符;分行输出用户输入的各行字符;分分4行输出行输出全部字母全部字母数数、数字个数数字个数、空格个数空格个数、文章总字数文章总字数;输出删除某一字输出删除某一字符串后的文章;符串后的文章;第25页,共56页,编
23、辑于2022年,星期六9joseph环(不算)环(不算)任务:编号是任务:编号是1,2,n的的n个人按照顺时针方向围坐一圈,个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值数上限值m,从第一个仍开始顺时针方向自,从第一个仍开始顺时针方向自1开始顺序报数,报到开始顺序报数,报到m时停止报数。报时停止报数。报m的人出列,将他的密码作为新的的人出列,将他的密码作为新的m值,从他在值,从他在顺时针方向的下一个人开始重新从顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人报数,如此下去,直到所有人
24、全部出列为止。设计一个程序来求出出列顺序。全部出列为止。设计一个程序来求出出列顺序。要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。输出各个人的编号。测试数据:测试数据:m的初值为的初值为20,n=7,7个人的密码依次为个人的密码依次为3,1,7,2,4,7,4,首先,首先m=6,则正确的输出是什么?,则正确的输出是什么?要求:输入数据:建立输入处理输入数据,输入要求:输入数据:建立输入处理输入数据,输入m的初值,的初值,n,输入每个人的密码,建立单循环链表。输入每个人的密码,建立单循环链表。输出形式:建立一个输
25、出函数,将正确的输出序列输出形式:建立一个输出函数,将正确的输出序列第26页,共56页,编辑于2022年,星期六数据结构:数据结构:typedefstructNodeintdata;intpassword;structNode*next;Node,*LinkList;基本操作:基本操作:/初始化单链表初始化单链表/给每个人赋密码给每个人赋密码/确定需要处理的人数确定需要处理的人数/确定开始的上限值确定开始的上限值/得到正确的顺序得到正确的顺序/输出结果输出结果第27页,共56页,编辑于2022年,星期六11建立二叉树,已知二叉树的层次序列、先序建立二叉树,已知二叉树的层次序列、先序遍历(遍历(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 幻灯片
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内