数据结构课程设计教学任务书

合集下载

数据结构课程设计任务书

数据结构课程设计任务书

《数据结构》课程设计任务书一、设计题目1、约瑟夫环2、集合的并、交和差运算3、一元稀疏多项式计算器4、停车场管理5、车厢调度6、文学研究助手7、哈夫曼编/译码器8、图遍历的演示9、最小生成树问题10、哈希表设计二、设计目的数据结构课程设计是计算机专业的集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。

其目的在于加深对数据结构的理解和掌握,使学生更好地掌握数据结构的特点、存储表示、运算方法及其应用,训练学生选用合适的数据结构编写质量高、风格好的应用程序的能力。

三、设计任务每班每人按照学号的顺序依次选择1-10号设计题目,独立完成课题。

(即1、11、21号学生完成1号课题,2、12、22号学生完成2号题,以此类推)四、时间安排五、设计内容1. 约瑟夫环【问题描述】约瑟夫(Joseph) 问题的一种描述是:编号为1,2,… ,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。

一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。

试设计一个程序求出出列顺序。

【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。

【测试数据】m的初值为20;n=7,7 个人的密码依次为:3,1,7,2,4,8,4,首先m值为6( 正确的出列顺序应为6,1,4,7,2,3,5) 。

【实现提示】程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。

可设n≤30。

此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。

【选作内容】向上述程序中添加在顺序结构上实现的部分。

2. 集合的并、交和差运算【问题描述】编制一个能演示执行集合的并、交和差运算的程序。

【基本要求】(1) 集合的元素限定为小写字母字符[‘a’..’z’] 。

数据结构与算法课程设计教学任务书

数据结构与算法课程设计教学任务书

《数据结构与算法》课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。

数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。

通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。

通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。

2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。

3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。

2)概要设计:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。

(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现:给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。

数据结构课程设计实施方案任务书(软件)

数据结构课程设计实施方案任务书(软件)

《数据结构》课程设计任务书学期:13-14-1班级:软件12一、设计目地《数据结构》是一门实践性较强地专业基础课程,为了学好这门课程,必须在掌握理论知识地同时,加强上机实践.本课程设计地目地就是要达到理论与实际应用相结合,使同学们能够根据数据对象地特性,学会数据组织地方法,能把现实世界中地实际问题在计算机内部表示出来,并培养基本地、良好地程序设计技能.二、设计要求1、通过这次设计,要求在数据结构地逻辑特性和物理表示、数据结构地选择应用、算法地设计及其实现等方面加深对课程基本内容地理解.同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格地训练.2、学生必须仔细研读《数据结构》课程设计要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计地任务,有问题及时主动与指导教师沟通.3、本次课程设计按照教学要求需要在三周时间内独立完成,学生要发挥自主学习地能力,充分利用时间,安排好课设地时间计划,并在课设过程中不断检测自己地计划完成情况,及时地向指导教师汇报.4、编程语言任选.三、设计选题选题说明:一个*地题代表15分,两个*地代表30分,三个*地题代表60分,四个*地题代表90分.根据实际选做题目地分值和数量以及实现程序地完善性可以适当加减分;同学们在选题时,要结合个人实际情况,保障及格,力争多做.1、迷宫求解(*)任务:可以输入一个任意大小地迷宫数据,用非递归地方法求出一条走出迷宫地路径,并将路径输出;要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法地时间复杂度、另外可以提出算法地改进方法;2、文章编辑(*)任务:输入一页文字,程序可以统计出文字、数字、空格地个数.静态存储一页文章,每行最多不超过80个字符,共N行;要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现地次数,并输出该次数;(3)删除某一子串,并将后面地字符前移.存储结构使用线性表,分别用几个子函数实现相应地功能;输入数据地形式和范围:可以输入大写、小写地英文字母、任何数字及标点符号.输出形式:(1)分行输出用户输入地各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后地文章;3、单位员工通讯录管理系统(*)任务:为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工地办公室电话、手机号、及电子邮箱.要求:其功能包括通讯录链表地建立、员工通讯信息地查询、修改、插入与删除、以及整个通讯录表地输出.4、停车场管理(*)[问题描述]设停车场是一个可以停放n辆汽车地狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间地先后顺序,依次有北向南排列(大门在最南端,最先到达地第一车停放在车场地最北端),若车场内已停满n辆车,那么后来地车只能在门外地便道上等候,一旦有车开走,则排在便道上地第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入地车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场地车在它离开停车场时必须按它停留地时间长短交纳费用.试为停车场编制按上述要求进行管理地模拟程序.[实现提示]以栈模拟停车场,以队列模拟车场外地便道.每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去地时刻.对每一组输入数据进行操作后地输出信息为:若是车辆到达,则输出汽车在停车场内或便道上地停车位置;若是车辆离去,则输出汽车在停车场内停留地时间和应交纳地费用(在便道上停车不收费).栈以顺序存储结构实现,队列以链表结构实现.5、排序综合(**)任务:利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序.要求:(1)至少采用三种方法实现上述问题求解(提示,可采用地方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序).并把排序后地结果保存在不同地文件中;(2)统计每一种排序方法地性能(以上机运行程序所花费地时间为准进行对比),找出其中两种较快地方法;(3)统计每种算法所用地比较次数和交换次数,最后列表显示;(4)如果采用4种或4种以上地方法者,可适当加分.6、散列表地设计与实现(**)任务:设计散列表实现电话号码查找系统.要求:(1) 设每个记录有下列数据项:用户名、电话号码、地址;(2) 从键盘输入各记录,以用户名(汉语拼音形式)为关键字建立散列表;(3) 采用一定地方法解决冲突;(4) 查找并显示给定电话号码地记录;选作内容:(1) 系统功能地完善;(2) 设计不同地散列函数,比较冲突率;(3) 在散列函数确定地前提下,尝试各种不同类型处理冲突地方法,考察平均查找长度地变化.7、线索二叉树(**)任务:1.建立中序线索二叉树,并且中序遍历;2. 求中序线索二叉树上已知结点中序地前驱和后继;8、运动会分数统计(**)任务:参加运动会有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)可以按学校编号查询学校某个项目地情况;可以按项目编号查询取得前三或前五名地学校.规定:输入数据形式和范围:20以内地整数(如果做得更好可以输入学校地名称,运动项目地名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理地提示,每个功能可以设立菜单,根据提示,可以完成相关地功能要求.存储结构:学生自己根据系统功能要求自己设计,但是要求运动会地相关数据要存储在数据文件中.(数据文件地数据读写方法等相关内容在c语言程序设计地书上,请自学解决)请在最后地上交资料中指明你用到地存储结构;相关数据结构(参考):项目名次及分值:用二位数组Score[m+w][5];单项获奖情况登记表(项目编号,获奖名次、获奖学校,得分(自动得分))学校获奖名次表(学校编号,团体总分,名次)测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据.进行程序测试,以保证程序地稳定.测试数据及测试结果请在上交地资料中写明;9、宿舍管理查询软件(**)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作)要求:上述查询功能中,学号、房号用折半查找,姓名查找用哈希查找.10、最小生成树问题(***)【问题描述】若要在n个城市之间建设通信网络,只需要假设n-1条线路即可.如何以最低地经济代价建设这个通信网,是一个网地最小生成树问题.【系统要求】1.利用克鲁斯卡尔算法求网地最小生成树.2.利用普里姆算法求网地最小生成树.3.要求输出各条边及它们地权值.【测试数据】由学生任意指定,但报告上要求写出多批数据测试结果.【实现提示】通信线路一旦建成,必然是双向地.因此,构造最小生成树地网一定是无向网.设图地顶点数不超过30个,并为简单起见,网中边地权值设成小于100地整数,可利用C语言提供地随机函数产生.图地存储结构地选取应和所作操作相适应.为了便于选择权值最小地边,此题地存储结构既不选用邻接矩阵地数组表示法,也不选用邻接表,而是以存储边(带权)地数组表示图.【选作内容】利用堆排序实现选择权值最小地边.11、校园导游咨询(***)任务:设计一个校园导游程序,为来访地客人提供各种信息查询服务.要求:(1)设计学校地校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息.(2)为来访客人提供图中任意景点相关信息地查询.(3)为来访客人提供景点地问路查询,即已知一个景点,查询到某景点之间地一条最短路径及长度.12、单循环赛成绩给定(***)【问题描述】在有n个选手P1,P2,P3,…,Pn参加地单循环赛中,每对选手之间非胜即负.要求给出一个选手序列P1’,P2’,P3’,…,Pn’,使其满足Pi’胜Pi+1’(i=1,2,…,n-1).12、售票处地服务系统(***)【问题描述】航空客运订票地业务活动包括:查询航线、客票预订和办理退票等.试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成.【系统要求】设民航售票处地计算机系统可以为客户提供下列各项服务:查询航线:根据旅客提出地终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班地日期和余票额;承办订票业务:根据客户提出地要求(日期、航班号、订票数额)查询该航班票额情况,若尚有余额,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求.若需要,可预约登记排队等候.3.承办退票业务:根据客户提供地情况(日期、航班、退票数额),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一地客户,若所退票额能满足他地要求,则为他办理订票手续,否则依次询问其他排队预约地客户.【测试数据】由学生任意指定,但报告上要求写出多批数据测试结果.【实现提示】每条航线应包含地信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票地客户名单(包括姓名、订票额、座位号)和预约登记地客户名单(包括日期、姓名、所需票额).这最后两项显然是一个线性表和一个队列.为查找方便、已订票客户地线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构.由于预约人数无法预料,队列也应以链表作存储结构.整个系统需汇总各条航线地情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序.每条航线是这张表上地一个记录,包含上述八个域,其中乘员名单域为指向乘员名单链表地头指针,预约登记客户名单域为分别指向队头和队尾地指针.【选做内容】当客户订票要求不能满足时,系统可向客户提供到达同一目地地地其它航线情况.大家还可以充分发挥自己地想象力,增加你地系统地功能和其它服务项目.13、中国道路交通网络信息查询系统(****)【问题描述】出于不同地目地地旅客对交通工具有不同地要求.例如,因公出差地旅客希望在旅途中地时间尽可能短,出门旅游地游客则期望旅费尽可能省,而老年旅客则要求中转次数最少.编制一个全国城市间地交通咨询程序,为旅客提供两种或三种最优决策地交通咨询.【基本要求】(1)提供对城市信息进行编辑(如:添加或删除)地功能.(2)城市之间有两种交通工具:火车和飞机.提供对列车时刻表和飞机航班进行编辑(增设或删除)地功能.(3)提供两种最优决策:最快到达或最省钱到达.全程只考虑一种交通工具;(4)旅途中耗费地总时间应该包括中转站地等候时间;咨询以用户和计算机地对话方式进行.由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地.【测试数据】参考《数据结构》清华版7.6节图7.33地全国交通图,自行设计列车时刻表和飞机航班.【实现提示】(1)对时刻表和飞机航班进行编辑,应提供文件输入和键盘输入两种形式.飞机航班信息包括:起始站地出发时间,终点站地到达时间和票价;列车时刻表则需根据交通图给出各个路段地详细信息,如:对从北京到上海地火车,给出北京至天津,天津至徐州及徐州至上海各段地出发时间,到达时间及票价等信息.(2)以邻接表作交通图地存储结构,表示边地结构内除含有邻接点地信息外,还包括交通工具,路途中耗费地时间和花费以及出发和到达时间等多种属性.【选做内容】增加旅途中中转次数最少地最优决策.四、学生自选课题学生原则上可以结合个人爱好自选课题,要求自选课题必须覆盖数据结构地主要内容,有一定地深度与难度,有一定地算法复杂性,能明确体现数据抽象与组织、算法设计与性能分析以及编码实现等过程.学生自选课题需提前报课程设计指导教师批准方可生效.五、成绩考核根据完成任务地情况(必须进行系统验收 +答辩)、课程设计报告书地质量和课程设计过程中地工作态度等按照50%、30%、20%加权综合打分.成绩评定实行优秀、良好、中等、及格和不及格五个等级.上机程序检查未通过者、无设计报告者以及严重抄袭他人设计者,成绩为不及格.六、课程设计报告课程设计报告书封面用学校地统一封面,报告格式:基础类题:设计报告内容可参照《数据结构题集》中地实习报告示例,包含:设计题目、需求分析、概要设计、详细设计、调试分析、测试结果和设计心得体会等.(附录:源代码)版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.AVktR43bpw用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall notmisinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.。

《数据结构》课程设计方案任务书

《数据结构》课程设计方案任务书

《数据结构》课程设计任务书计算机与通信学院2018-5湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书。

数据结构课程设计(5篇)

数据结构课程设计(5篇)

数据结构课程设计(5篇)第一篇:数据结构课程设计课程设计说明书设计名称:数据结构课程设计题目:设计五:二叉树的相关操作学生姓名:专业:计算机科学与技术班级:学号:指导教师:日期: 2012 年 3 月 5 日课程设计任务书计算机科学与技术专业年级班一、设计题目设计五二叉树的相关操作二、主要内容建立二叉树,并对树进行相关操作。

三、具体要求1)利用完全二叉树的性质建立一棵二叉树。

(层数不小于4层)2)统计树叶子结点的个数。

3)求二叉树的深度。

4)能够输出用前序,中序,后序对二叉树进行遍历的遍历序列。

四、进度安排依照教学计划,课程设计时间为:2周。

本设计要求按照软件工程的基本过程完成设计。

建议将时间分为三个阶段:第一阶段,根据题目要求,确定系统的总体设计方案:即系统包括哪些功能模块,每个模块的实现算法,并画出相应的流程图.同时编写相应的设计文档;第二阶段,根据流程图编写程序代码并调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

三个阶段时间分配的大概比例是:35: 45: 20。

五、完成后应上交的材料本课程设计要求按照学校有关规范的要求完成,在课程设计完成后需要提交的成果和有关文档资料包括课程设计的说明书,课程设计有关源程序及可运行程序(含运行环境)。

其中课程设计说明书的格式按学校规范(见附件),其内容不能过于简单,必须包括的内容有:1、课程设计的基本思想,系统的总功能和各子模块的功能说明;2、课程设计有关算法的描述,并画出有关算法流程图;3、源程序中核心代码的说明。

4、本课程设计的个人总结,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。

5、源代码要求在关键的位置有注释,增加程序的可读性。

程序结构和变量等命名必须符合有关软件开发的技术规范(参见有关文献)。

课程方案任务书(数据结构)

课程方案任务书(数据结构)

平顶山工学院《数据结构》课程设计任务书班级0814101/2专业计算机科学与技术课程名称数据结构指导教师张芳芳、杨斌、张延红计算机科学与工程系2018年2月《数据结构》课程设计任务书一、设计时间及地点1、设计时间:第1周2、设计地点:计算机系机房205、212二、设计目的和要求数据结构课程设计是在学完数据结构课程之后的实践教案环节。

该实践教案是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。

要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。

学生通过数据结构课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。

2、提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

3、培养算法分析能力。

分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。

学生认真主动完成课程设计的要求,发挥自主学习的能力,充分利用时间,安排好课程设计,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。

三、设计题目和内容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)可以按学校编号查询学校某个工程的情况;可以按工程编号查询取得前三或前五名的学校。

数据结构设计任务计划书

数据结构设计任务计划书

-第二学期《数据构造》课程设计任务书课程设计名称:数据构造课程设计课程设计学分:1 课程设计周(时)数:1周课程设计授课单位:计算机专业教研室指引方式:集体辅导与个别辅导相结合课程设计合用专业:计算机科学与技术、软件工程、网络工程课程设计教材及重要参照资料:《数据构造C++版》王红梅、胡明、王涛编著清华大学出版社《数据构造》,严蔚敏编著,清华大学出版社,服务课程名称:数据构造服务课程授课学时:56 服务课程学分:3.5一、课程设计教学目及基本规定1.理解并掌握数据构造与算法设计办法,具备初步独立分析和设计能力;2.初步掌握软件开发过程问题分析、数据构造定义、算法流程分析、程序编码、测试等基本办法和技能;3.提高综合运用所学理论知识和办法独立分析和解决问题能力;4.训练用系统观点和软件开发规范完毕课程设计内容,培养软件工作者所应具备科学工作办法和作风。

二、课程设计内容及安排1. 分析题目,设计解题思路:依照设计题目规定,充分地分析和理解问题,明确问题规定做什么?(而不是怎么做?)限制条件是什么?2.数据构造定义:对问题描述中涉及操作对象定义相应数据类型,并按照以数据构造为中心原则划分模块,定义主程序模块和各抽象数据类型。

写出每个抽象数据类型定义(涉及数据构造描述和每个基本操作功能阐明),各个重要模块算法,并画出模块之间调用关系图;3.算法流程分析:在这个过程中,要综合考虑题目详细规定,使得解决算法流程清晰、合理、简朴和易于调试,抽象数据类型实现尽量做到数据封装,基本操作规格阐明尽量明确详细。

算法流程分析成果是对数据构造和基本操作进一步求精,写出数据存储构造类型定义,写出函数形式算法框架;4. 编写代码:把详细设计成果进一步求精为程序设计语言程序。

同步加入某些注解和断言,使程序中逻辑概念清晰;5.程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。

可以纯熟掌握调试工具各种功能,设计测试数据拟定疑点,通过修改程序来证明它或绕过它。

《数据结构》课程设计任务书

《数据结构》课程设计任务书

《数据结构》课程设计任务书《数据结构》课程设计任务说明一、题目及选题规定1、课程设计题目1)航空客运订票系统2)用二叉树实现家谱的相关运算3)电话客户服务模拟2、选题规定数据结构课程设计需独立完成1个选题内容。

1)~3)选题中任选一个。

二、课程设计进度安排1.问题分析和任务定义(3学时)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么(不是怎么做?),限制条件是什么。

要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。

重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。

说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。

2.逻辑设计和数据结构的选择(3学时)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。

要求:掌握逻辑设计和数据结构选择的方法。

重难点:逻辑设计和数据结构选择。

说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。

设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。

数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。

总体设计建立的是目标系统的逻辑模型,与计算机无关。

3.详细设计和编码(5个学时)内容:算法的具体描述和代码的书写要求:掌握在逻辑设计基础上作详细设计的方法把详细设计的结果进一步求精为程序设计语言程序。

同时加入一些注解和断言,使程序中逻辑概念清楚。

重难点:在逻辑设计基础上作详细设计并编码实现。

说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。

详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。

4.上机调试(4个学时)内容:源程序的输入和代码的调试要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程设计教学任务书计算机2007-1课程设计周数:第20周指导老师:刘文娟一、课程设计的目的数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。

数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。

通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。

通过此次课程设计主要达到以下目的:⏹了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;⏹初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;⏹提高综合运用所学的理论知识和方法独立分析和解决问题的能力;⏹训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

二、课程设计的基本要求1、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。

2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。

3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析:在该部分中叙述,每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。

要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

d)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。

e)课程设计总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;4、每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:“学号姓名”,如“200413498 高魁”。

该文件夹下至少包括:“源代码”、“课程设计报告”、“可执行文件”。

由学习委员收集刻盘按规定时间统一上交)。

5、报告提交时间:第20周星期五检查,第20周星期五下午5点之前由学习委员收集上交,迟交无成绩。

形式:课程设计报告(要求打印)和电子文档(统一刻盘)。

三、课程设计内容:1、排序算法演示系统【问题描述】设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。

【基本要求】(1)实现各种内部排序。

包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。

(2) 待排序的元素的关键字为整数。

其中的数据要用随机数产生(如10000个),至少用5组不同的数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较。

(3) 演示程序以人机对话的形式进行。

每次测试完毕显示各种比较指标值的列表,用饼图或条形图进行表示,以便比较各种排序的优劣。

(4) 界面友好,易与操作。

采用菜单方式进行选择。

【选做内容】(1) 对不同表长进行比较;(2) 验证各算法的稳定性;(3) 输出界面的优化。

(4) 使用汉字显示。

2、校园导游咨询系统【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。

【基本要求】(1) 设计安徽理工大学的校园平面图,所含景点不少于10个。

以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2) 为来访客人提供图中任意景点相关信息的查询。

(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

【选做内容】(1) 系统功能的完善;(2) 提供求任意两个景点之间的所有路径的功能;(3) 提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳(短)路径。

(4) 使用汉字显示。

3、通讯录【问题描述】设计散列表实现通讯录查找系统。

【基本要求】(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用线性探测再散列法解决冲突;(4) 查找并显示给定电话号码的记录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;【选做内容】(1) 系统功能的完善;(2) 设计不同的散列函数,比较冲突率;(3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

(4) 使用汉字显示。

【实现提示】如果不用界面编程,可用以下函数实现:主函数:根据选单的选项调用各函数,并完成相应的功能。

Menu()的功能:显示英文提示选单。

Quit()的功能:退出选单。

Create()的功能:创建新的通讯录。

Append()的功能:在通讯录的末尾写入新的信息,并返回选单。

Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。

Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。

Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。

List()的功能:显示通讯录中的所有记录。

Save()的功能:保存通讯录中的所有记录到指定文件中。

Load()的功能:从指定文件中读取通讯录中的记录。

4、哈夫曼编码/译码器【问题描述】设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(压缩文件,后缀名.cod);反过来,可将一个压缩文件译码还原为一个文本文件(.txt)。

【基本要求】(1) 输入一个待压缩的文本文件名,统计文本文件中各字符的个数作为权值,生成哈夫曼树;(2) 将文本文件利用哈夫曼树进行编码,生成压缩文件(后缀名cod),(3) 输入一个待解压的压缩文件名称,并利用相应的哈夫曼树将编码序列译码;(4) 显示指定的压缩文件和文本文件;(5) 界面友好,易与操作。

采用菜单方式进行选择。

【选做内容】(1) 把哈夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。

(2) 显示哈夫曼树;(3) 使用汉字显示。

5、二叉树遍历算法集成功能要求:(1)界面友好,易于操作。

可采用菜单或其它人机对话方式进行选择。

(2)实现各种二叉树的遍历。

包括先序遍历、中序遍历、后序遍历的递归或非递归算法。

(3)要求能查找任一结点在某种遍历序列中的前驱和后继。

(4)演示程序以人机对话的形式进行。

每次测试完毕正确显示各种遍历序列。

在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;6、航班信息的查询与检索功能要求:(1)界面友好,易于操作。

可采用菜单或其它人机对话方式进行选择。

(2)实现对飞机航班信息进行排序与查找。

可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

每个航班记录包括八项:航班号、起点站、到达站、班期、7、学生成绩管理系统(图书管理系统、个人账簿管理系统)功能要求:(1)界面友好,易于操作。

可采用菜单或其它人机对话方式进行选择。

(2)实现对学生成绩信息进行排序与查找。

可按学生学号、姓名等信息进行查询。

每个学生信息包含:学号,姓名,班级,语文,数学,英语,物理,化学等项。

学生信息的存储结构可以选择顺序结构,也可以选择链式结构。

8、表达式求值功能要求:当用户输入一个合法的表达式后,能够返回正确的结果。

能够计算的运算符包括:加、减、乘、除、括号;能够计算的数要求在实数范围内。

能执行多重括号嵌套运算。

对于异常表达式给出错误提示。

(要求使用静态栈数据结构。

)9、飞机订票系统功能要求:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

(5)修改航班信息:当航班信息改变可以修改航班数据文件10、多项式运算功能要求:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;(3)多项式a和b相加,建立多项式a+b;输出相加的多项式(4)多项式a和b相减,建立多项式a-b。

输出相加的多项式(5)用带表头结点的单链表存储多项式。

11、猴子选大王问题描述:n只猴子要选大王,选举方法是:所有猴子按1,2,…,n编号围坐一圈,从第1号开始按1,2,…,m报数,凡报到m号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。

基本要求:分别选择顺序表和单向循环链表作为存储结构模拟整个过程,并依次输出出列的各猴子的编号和最终所选出猴王的编号。

12、停车场管理问题描述:设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。

每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。

编制一程序模拟该停车场的管理。

提示:停车场采用栈式结构,停车场外的便道采用队列结构(即便道就是等候队列)。

13、文本编辑器功能要求:运用链表与数组来处理字符串的各项操作。

相关文档
最新文档