1数据结构课程设计要求及备选资源:一、设计要求1、分组。全班自由组合,每组2-3人。组长负责把各组人员情况报告到学习委员处。2、评分:满分100分,40%由组内成员自评,60%由教师评定。组内成员自评分的规则是每组最多一个为优秀,最多一个良好。组内成员自评分数(使用优良中及格和不及格五个等级)写到课程设计报告书中,报告书中没有组内成员自评分数或评分不符合上述要求的,老师不接收报告书。3、自己找时间课外完成软件设计及编写相关文档。到考试时间统一把所设计的软件安装到指定机器,由组长说明设计过程,教师随机提问每个成员,并评分,该过程是最后的考试答辩。4、教师评分依据:课程设计报告(20%)课程设计过程中的进展情况(分三次:任务书[10%]、期中[10%]、结题[10%]);课程设计汇报演讲(10%);程序运行情况(20%);程序的结构合理与否,算法说明的清晰程度(10%);独立完成情况(学生间不相互雷同)(10%);共100%。5、所需设计的文档有:(1)课程设计任务书(一小组一份)(2)课程设计报告书(一小组一份)(3)课程设计个人总结。格式为:(1)课程设计任务书格式见附件1:课程设计任务书.doc。(2)课程设计报告书格式见附件2:课程设计报告书.doc。6、进度安排时间要完成的工作任务负责人及相应工作第6周所有人员分组完毕由学习委员把分组情况的电子版发给老师。第8周各组完成课程设计任务书各组长把任务书电子版发给老师。第9-11周初步完成相关软件设计老师随机检查各组的设计情况2第12-14周完成课程设计报告书、课程设计个人总结,完成相关软件设计。各组长把打印好的课程设计报告书、课程设计个人总结在第14周本课程的上课时间地点上交到老师处。进行最后的考试答辩。二、备选资源序号知识模块实验类型题目名称1线性表及其应用设计运动会分数统计2设计一元稀疏多项式计算器3设计猴子选大王4栈和队列及其应用设计停车场管理5设计车厢调度6设计表达式求值7设计航空客运订票系统8串及其应用设计文本格式化9设计简单行编辑程序10图的应用设计计算机专业教学计划编制11设计高校专用通信网络建设12设计校园导游咨询13设计三亚市景点导游咨询14设计全国著名景点导游咨询15查找和排序设计图书管理系统16设计通讯录管理系统17设计学生成绩管理系统18设计简单的员工管理系统3【1.1】运动会分数统计[问题描述]参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)[基本要求](1)可以输入各个项目的前三名或前五名的成绩;(2)能统计各学校总分;(3)可以按学校编号、学校总分、男女团体总分排序输出;(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;(5)各学校分数为整型,学校名称、运动项目的名称为字符型;(6)界面友好,有中文提示。【1.2】一元稀疏多项式计算器[问题描述]设计一个一元稀疏多项式简单计算器。[基本要求]一元稀疏多项式简单计算器的基本功能是:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,...,cn,en,其中n是多项式的项数,ci,ei分别是多项式的指数,序列按指数降序排列;(3)多项式a和b相加,建立多项式a+b;(4)多项式a和b相减,建立多项式a-b。[实现提示]用带表头结点的单链表存储多项式。【1.3】猴子选大王[问题描述]一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1~m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。19设计汽车牌照管理系统4[基本要求](1)输入数据:输入m、n,m、n为整数,且nm;(2)输出形式:中文提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号。【2.1】停车场管理[问题描述]设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。[基本要求](1)要求以顺序栈模拟停车场,以链队列模拟便道。(2)从终端读入汽车到达或离去的数据,每组数据包括三项:①是“到达”还是“离去”;②汽车牌照号码;③“到达”或“离去”的时刻。与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。【2.2】车厢调度[问题描述]假设在铁路调度站(如教科书图3.1(b)所示)入口处的车厢序列的编号依次为1,2,3,...,n。设计一个程序,求出所有可能由此输出的长度为n的车厢序列。[基本要求]首先在教科书上提供的栈的顺序存储结构Seqstack之上实现栈的基本操作,即实现栈类型。程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作进行。[实现提示]一般的说,在操作过程的任何状态下都有两种可能的操作:入和出。每个状态下处理问题的方法都是相同的,这说明问题本身具有天然的递归特性,可以考虑用递归算法实现,输入序列可以仅由一对整形变量表示,即给出序列头/尾编号。输出序列用栈实现是方便的(思考:为什么不应该用队列实现)只要再定义一个栈,打印操作print(s),自底至顶顺序的印出栈元素的值。【2.3】表达式求值[问题描述]5一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。[基本要求](1)从键盘读入一个合法的算术表达式,输出正确的结果。(2)显示输入序列和栈的变化过程。[选作内容](1)扩充运算符集合。(2)引入变量操作数。(3)操作数类型扩充到实数。【2.4】航空订票系统[问题描述]航空客运订票大的业务活动包括:查询航线,客票预订额办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。[基本要求](1):每条航线所设计的信息有:终点站名,航班号,飞机号,飞行周日(星期几),乘员定额,余票量,已订票的客户名单(包括姓名,订票量,舱位等级1,2或3)以及等候替补的客户名单(包括姓名,所需票量);(2):作为示意系统,全部数据可以只存放在内存中;(3):系统能实现的操作功能如下:1),查询航线:根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞行,最近一天航班的日期和余票额;2)承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若尚余票则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要可登记排队候补;3)承办退票业务:根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。【3.1】文本格式化[问题描述]输入文件中含有待格式化(或成为待排版)的文本,它由多行文字组成,例如一篇英文文章。每一行由一系列被一个或多个空格符所隔开的字(字是一行中不含空格符的最长(即任意一端都不能再扩展一个非空格符的进来的)子串,例如good!算是一个字。)所组成,任何完整的字都没被分隔在两行(每行最后一个=字与下一行第一个字在逻辑上应该由空格分6开),每行字符数不超过80。除了上述文本类字符外,还存在起控制作用的字符:符号@指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入8个字符位置。@自成一个字。一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排版面:实现页内调整,分段,分页等文本处理功能,排版结果存入输出文本文件中。[基本要求](1)输出文件中字与字之间只留一个空格符,即实现多余空格符的压缩。(2)在输出文件中,任何完整的字仍不能分隔在两行,行尾不齐没关系,但行首要对齐(即左对齐)。(3)如果所要求的每页页底所空行数不少于3,则将页号印在页底空行中第2行的中间位置上,否则不印。(4)版面要求的参数要包含:.页长(PageLength)——每页内文字(不计页号)的行数。.页宽(PageWedth)——每行内文字所占最大字符数。.左空白(LeftMargin)——每行文字前的固定格数。.头长(HeadingLength)——每页页顶所空行数。.脚长(FootingLength)——每页页底所空行数(含页号行).起始页号(StartingPageNumber)——首页的页号。【3.2】简单行编辑器[问题描述]设计一个简单的行编辑程序,输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。存储结构使用线性表,文字中可以是大写、小写的英文字母、任何数字及标点符号。[基本要求](1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。(4)输出形式:1)分行输出用户输入的各行字符;2)分4行输出全部字母数、数字个数、空格个数、文章总字数3)输出删除某一字符串后的文章;【4.1】计算机专业教学计划编制[问题描述]7我院对本三学生正在推行完全学分制改革,很多学生不清楚如何科学地选修课程,请根据计算机工程学院网站上发布的08级软件工程专业人才培养方案,为学生制定一个合理的专业教学计划。[基本要求](1)每学期选修学分不低于16,不超过35;(2)每学期负担基本均衡;(3)按学分收费,尽量节省学费开支;(4)达到毕业要求的总学分为185,尽可能实现提前毕业。【4.2】高校专用通信网络建设[问题描述]中国移动公司正在积极推广3G通信应用,计划在江苏高校之间建立一个专用通信网络,请为其规划一个投资最省的通信线路架设方案。[基本要求](1)用无向网模拟该系统,顶点表示各高校,边表示线路建设成本(2)高校数量不少于10个,覆盖苏南、苏中、苏北、南京等地的高校(3)输出方案的结果直观、明确(4)交互式改变某些线路的建设成本,可重新输出新方案【4.3】校园导游咨询[问题描述]用无向网表示淮海工学院的校园景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介等信息,图中边表示景点间的道路,存放路径长度信息。[基本要求](1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径(3)查询图中任意两个景点间的所有路径【4.4】三亚市景点导游咨询[问题描述]用无向网表示连云港市旅游景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介等信息,图中边表示景点间的道路,存放路径长度信息。[基本要求](1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径8(3)查询图中任意两个景点间的所有路径(4)可动态添加景点,加后可查询该景点到其它景点的最短路径【4.5】全国著名景点导游咨询[问题描述]用无向网表示全国著名旅游景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介、门票价格等信息,图中边表示景点间的道路,存放路程长度和行程费用信息。[基本要求](1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径(3)查询图中任意两个景点间的