2013级软件工程专业数据结构课程设计方案V1.0

合集下载

数据结构的课程设计

数据结构的课程设计

数据结构的课程设计一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点与应用场景。

2. 学会分析不同数据结构的存储方式和操作方法,并能运用到实际问题的解决中。

3. 掌握排序和查找算法的基本原理,了解其时间复杂度和空间复杂度。

技能目标:1. 能够运用所学数据结构知识,解决实际问题,提高编程能力。

2. 能够运用排序和查找算法,优化程序性能,提高解决问题的效率。

3. 能够运用数据结构知识,分析并解决复杂问题,培养逻辑思维能力和创新意识。

情感态度价值观目标:1. 培养学生对数据结构学科的兴趣,激发学习热情,形成主动探索和积极进取的学习态度。

2. 增强学生的团队协作意识,培养合作解决问题的能力,提高沟通表达能力。

3. 培养学生的抽象思维能力,使其认识到数据结构在计算机科学中的重要性,激发对计算机科学的热爱。

本课程针对高中年级学生,结合学科特点和教学要求,注重理论与实践相结合,培养学生的编程能力和逻辑思维能力。

通过本课程的学习,使学生能够掌握数据结构的基本知识,提高解决实际问题的能力,同时培养良好的学习态度和价值观。

在教学过程中,将目标分解为具体的学习成果,以便进行后续的教学设计和评估。

二、教学内容1. 数据结构基本概念:介绍数据结构的概念、作用和分类,重点讲解线性结构(线性表、栈、队列)和非线性结构(树、图)的特点。

2. 线性表:讲解线性表的顺序存储和链式存储结构,以及相关操作(插入、删除、查找等)。

3. 栈和队列:介绍栈和队列的应用场景、存储结构及相关操作。

4. 树和二叉树:讲解树的定义、性质、存储结构,二叉树的遍历算法及线索二叉树。

5. 图:介绍图的定义、存储结构(邻接矩阵和邻接表)、图的遍历算法(深度优先搜索和广度优先搜索)。

6. 排序算法:讲解常见排序算法(冒泡排序、选择排序、插入排序、快速排序等)的原理、实现及性能分析。

7. 查找算法:介绍线性查找、二分查找等查找算法的原理及实现。

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

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

《数据结构》课程设计任务书学期: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.。

13级《数据结构与算法》授课计划表(修改稿)

13级《数据结构与算法》授课计划表(修改稿)
指针与结构体2学时线性表4学时线性表3学时习题课1学时929104国庆放假栈与队列3学时习题课1学时树与二叉树4学时树与二叉树3学时习题课1学时10113117321111101114341211171121学时习题课1学时361311241128第10排序2学时14121125第10排序2学时40151281212第10排序1学时习题课1学时421612151219第11查找2学时1712221226第11查找3学时习题课1学时日期实验课题学时实验报告次数10271031实验一线性表的实验学时10113117实验一线性表的实验1111101114实验二栈队列的实现及应用1211171121实验三二叉树的操作及应用1311241128实验四图的操作及应用学时14121125实验四图的操作及应用151281212实验五查找与排序学时1612151219实验五查找与排序
4
16
5
9.29-10.4
国庆放假
0
16
6
10.6-10.10
第3章栈与队列(3学时)
习题课(1学时)
4
20
1
7
10.13-10.17
第8章树与二叉树(4学时)
4
24
1
8
10.20-10.24
第8章树与二叉树(3学时)
习题课(1学时)
4
28
9
10.27-10.31
第9章图(2学时)
2
30
1
10
11.3-11.7
实验二 栈、队列的实现及应用
2学时
1
12
11.17-11.21
实验三二叉树的操作及应用
2学时
1
13
11.24-11.28

《数据结构》课程设计计划书

《数据结构》课程设计计划书

《数据结构》课程设计计划书班级:2012信计专业授课教师:马阿曼一、课程设计目的《数据结构》课程是计算机科学与技术专业的核心专业基础课。

本课程设计的目的是将数据结构理论和实践结合起来,锻练学生编写程序过程中的数据结构使用和分析、解决实际问题的能力。

1、使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。

2、使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。

3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。

二、课程设计内容《数据结构》课程设计包含以下主要内容:1、查阅相关资料确定课题;2、课题所设计的数据结构设计、算法设计;3、编写代码并调试;4、完成课程设计报告;5、进行课设答辩。

三、设计地点及时间安排地点:瑞樟6-402时间:2014年6月3、4、5、6、7、8号四、课程设计报告的书写格式1、问题描述:描述要求编程解决的问题。

2、基本要求:给出程序要达到的具体的要求。

3、测试数据:设计测试数据,或具体给出测试数据。

要求测试数据能全面地测试所设计程序的功能。

4、算法思想:描述解决相应问题算法的设计思想。

5、模块划分:描述所设计程序的各个模块(即函数)功能。

6、数据结构:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。

7、算法设计分析:给出算法的设计分析和算法流程图。

8、源程序:给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。

9、测试情况:给出程序的测试情况,并分析运行结果。

10、收获及体会:写出此次课程设计过程中的收获及体会。

五、评分标准1、程序运行结果(30%)2、设计报告(30%)3、设计考勤,平时上机成绩,教师不定期检查(10%)4、学生根据自己设计报告对教师的提问可以熟练的解释(10%)5、设计课题的难易程度(20%)六、参考设计题目课程设计题一:学生成绩管理系统设计目的:1、掌握线性链表的建立。

数据结构与算法课程设计计划书-2014-2015-1(13级)

数据结构与算法课程设计计划书-2014-2015-1(13级)

计算机科学与工程学院集中性实践教学计划书( 2014-2015 学年第一学期)课程名称:数据结构与算法课程设计专业:计算机科学与技术软件工程、网络工程班级:计算机科学与技术131-6软件工程131-4网络工程131-4课程负责人:李锡祚指导教师分配情况:专业指导教师计算机科学与技术孟佳娜(1班) 张恒博(2班) 王巍(3班) 刘爽(4班) 李威(5班) 李笑牛(6班)软件工程王玲芬(1班) 赵丹丹(2班) 王存睿(3班) 宋海玉(4班) 网络工程王晓强(1班) 郭海(2班) 于艳莉(3班) 王波(4班)教学起止周:第17 至19 教学周一、教学目的:使学生能够根据数据对象的特性,合理的组织数据并能综合运用数据结构与算法基本知识和程序设计基本知识解决实际问题,培养基本的、良好的程序设计技能。

二、主要阶段、内容、时间及地点安排(以天为单位计):1、阶段与内容第1阶段(17周,校企合作指导)在为期一周校企合作模式的训练中,让学生对数据结构有一定的掌握,熟悉数据结构的常用算法并灵活运用,熟练使用开发工具,简单了解开发流程和团队协作的开发模式,并充分认识到数据结构在以后实际的项目开发中的重要作用。

(具体流程见企业实训计划书)第2阶段:(18-19周,校内教师指导)通过为期二周的课程设计集中训练, 使学生能够根据数据对象的特性,合理的组织数据并能综合运用数据结构与算法基本知识和程序设计基本知识解决实际问题。

1. 指导教师布置设计任务并解析有关题目的设计指标和任务的具体内容,学生选择题目,明确问题描述和要求,查阅资料(要求:各班长或学习委员将本班的选题表交给辅导教师,一人一题,每道题的选择人数原则上不能超过3人,第一天课程设计结束后,每名学生都要确定题目)(1天)。

2. 明确题目要求、确定数据结构、设计算法,编写程序、调试程序、测试程序(7天)(要求:准备足够的测试数据,对软件进行测试与调试。

)。

3. 验收与答辩(上机演示,回答教师提问)(1天);4. 撰写课程设计报告(1天)。

12级数据结构与算法课程设计指导书

12级数据结构与算法课程设计指导书

长沙学院课程设计指导书系(部)计算机科学技术专业软件工程(服务外包)2013年12月1 日课程名称:数据结构与算法课程设计课程编号:JX主笔人:刘钢钦主审人:潘怡一、课程设计的目的1 巩固与加深对课程内容的理解。

通过应用程序的设计过程,使学生加深对课程内容的理解,巩固所学的专业基础知识。

2 熟悉开发工具的使用。

通过编制与上机调试程序,使学生逐步积累编制与调试程序的经验,促进实践能力提高。

3 培养与增强学生的综合运用能力。

通过有一定实用价值的应用程序的开发,激发学生的学习兴趣,促进学生综合运用能力的提高。

4培养与增强学生的自学能力和利用文献的能力。

二、课程设计的题目为了充分调动学生的学习积极性与主动性,适应不同兴趣、不同程度的学生对课程设计的要求,本课程设计提供四个任选题。

每个学生可以根据本人的兴趣及能力选择教师指定的选题,也可以自定其他的选题。

1、一元多项式计算问题2、迷宫问题3、利用二叉排序树对顺序表进行排序4、交通咨询系统5、内部排序算法的比较三、设计内容1、一元多项式计算问题问题描述:设计一个稀疏多项式简单计算器基本要求:(1)输入并分别建立多项式A和B(2)输入输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……,其中n是多项式的项数,ci和ei是第i项的系数和指数,序列按指数降序排列(3)完成两个多项式的相加、相减,并将结果输出;测试数据:(1) A+B A= 3x14-8x8+6x2+2 B=2x10+4x8+-6x2(2) A-B A=11x14+3x10+2x8+10x6+5 B=2x14+3x8+5x6+7(3) A+B A=x3+x1B=-x3-x1(4) A+B A=0 B=x7+x5+x3+x1(5) A-B A=100x100+50x50+20x20+x B=10x100+10x50+10x20+x选作内容:(1).多项式在x=1时的运算结果(2)求多项式A和B的乘积2、迷宫问题问题描述:以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。

《数据结构》课程设计

《数据结构》课程设计

《数据结构》课程设计一、课程目标《数据结构》课程旨在帮助学生掌握计算机科学中基础的数据组织、管理和处理方法,培养其运用数据结构解决实际问题的能力。

课程目标如下:1. 知识目标:(1)理解基本数据结构的概念、原理和应用,如线性表、栈、队列、树、图等;(2)掌握常见算法的设计和分析方法,如排序、查找、递归、贪心、分治等;(3)了解数据结构在实际应用中的使用,如操作系统、数据库、编译器等。

2. 技能目标:(1)能够运用所学数据结构解决实际问题,具备良好的编程实践能力;(2)掌握算法分析方法,能够评价算法优劣,进行算法优化;(3)能够运用数据结构进行问题建模,提高问题解决效率。

3. 情感态度价值观目标:(1)激发学生对计算机科学的兴趣,培养其探索精神和创新意识;(2)培养学生团队合作意识,学会与他人共同解决问题;(3)增强学生的责任感和使命感,使其认识到数据结构在信息技术发展中的重要性。

本课程针对高中年级学生,结合学科特点和教学要求,将目标分解为具体的学习成果,为后续教学设计和评估提供依据。

课程注重理论与实践相结合,旨在提高学生的知识水平、技能素养和情感态度价值观。

二、教学内容《数据结构》教学内容依据课程目标进行选择和组织,确保科学性和系统性。

主要包括以下部分:1. 线性表:- 线性表的定义、特点和基本操作;- 顺序存储结构、链式存储结构及其应用;- 线性表的相关算法,如插入、删除、查找等。

2. 栈和队列:- 栈和队列的定义、特点及基本操作;- 栈和队列的存储结构及其应用;- 栈和队列相关算法,如进制转换、括号匹配等。

3. 树和二叉树:- 树的定义、基本术语和性质;- 二叉树的定义、性质、存储结构及遍历算法;- 线索二叉树、哈夫曼树及其应用。

4. 图:- 图的定义、基本术语和存储结构;- 图的遍历算法,如深度优先搜索、广度优先搜索;- 最短路径、最小生成树等算法。

5. 排序和查找:- 常见排序算法,如冒泡、选择、插入、快速等;- 常见查找算法,如顺序、二分、哈希等。

数据结构课程设计(软工)

数据结构课程设计(软工)

《数据结构》课程设计一个人:1,9 15二个人:3,4,6,7,8,11,12,13,14,16三个人:2,5,10一、数据结构课程设计的目的与要求1、目的:(1)要求学生达到熟练掌握C语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的程序设计问题。

2、基本要求:(1)要求利用VC的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的结构体层次;(3)在系统的设计中,至少要做到基本管理要求。

(4)学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。

有问题及时主动通过各种方式与教师联系沟通。

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

(6)独立思考,课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。

(7)课程设计按照教学要求需要一周时间完成,一周中每天(按每周5天)至少要上3-4小时的机来调试C语言设计的程序,总共至少要上机调试程序18小时。

3、创新要求:在基本要求达到后,可进行创新设计,如根据排序名次评定奖学金。

4、写出设计说明书。

数据结构是一门涉及多门课程的课程,难度较大,需要较好的C语言的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获,几分投入几分收获,努力吧,同学们,不在此时更待何时二、课程设计的题目1、一元多项式计算任务:能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输入;要求:在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;2、运动会分数统计任务:参加运动会有n个学校,学校编号为1……n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1......m,女子m+1......m+w.不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。

13级课程设计题目及要求

13级课程设计题目及要求

13级数据结构课程设计题目及要求一、课程设计目的《数据结构》是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。

《数据结构》课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。

《数据结构》课程也是一门实践性较强的课程,设置实践环节是十分重要的。

本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。

二、课程设计内容题目一:宿舍管理系统(线性表应用)【问题描述】(1) 任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:A. 采用交互工作方式B. 建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序 (冒泡、选择、插入排序等任选一种)【实现提示】(2)查询功能A. 按姓名查询B. 按学号查询C. 按房号查询(3)打印功能(4)添加功能(5)删除功能(6)修改功能题目二:通讯录管理系统(线性表应用)【问题描述】模块要求:第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

第二个模块——Menu()的功能是:显示英文提示选单。

第三个模块——Quit()的功能是:退出选单。

第四个模块——Create()的功能是:创建新的通讯录。

第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。

第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。

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

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

第九个模块——List()的功能是:显示通讯录中的所有记录。

软件工程课程设计报告

软件工程课程设计报告

v1.0可编写可改正软件工程课程设计报告旅行信息管理系统姓名:学号:专业:软件工程班级:14软件工程1班指导教师:目录1. 课程设计概括 ......................................................................................................- 0 -系统目的 ................................................................................................................- 0 -系统任务 ................................................................................................................- 0 -运转环境 ................................................................................................................- 1 -2. 项目的可行性研究 ..............................................................................................- 1 -旅行网站的可行性研究 ........................................................................................- 1 -技术可行性 ........................................................................................................- 2 -经济可行性 ........................................................................................................- 2 -操作可行性 ........................................................................................................- 2 -功能需求剖析 ....................................................................................................- 3 -性能需求剖析 ....................................................................................................- 4 -4. 纲要设计 ............................................................................................................- 4 -系统构造图 ............................................................................................................- 6 -数据词典 ................................................................................................................- 9 -5. 课程设计达成结果剖析与个人小结 ................................................................- 10 -参照文件 ................................................................................................................- 11 -1.课程设计概括系统目的该系统主要成立一个完好的旅行网站,突出旅行特色,有雅观的界面设计。

2013数据结构课设任务书

2013数据结构课设任务书

课程设计报告课程名称数据结构课题名称二叉树遍历演示专业网络工程班级网络工程1102学号 2姓名吴琪指导教师陈淑红张晓清李杰君2013年7 月 3 日湖南工程学院课程设计任务书课程名称数据结构课题二叉树遍历演示专业班级网络工程学生姓名吴琪学号1指导老师陈淑红张晓清李杰君审批任务书下达日期2013 年 6 月25 日任务完成日期2013年7 月 3 日课程设计报告任务书1、设计内容与设计要求1.1设计内容1.1.1 算术24游戏演示由系统随机生成4张扑克牌,用户利用扑克牌的数字及运算符号“+”、“—”、“*”、“/”及括号“(”和“)”从键盘上输入一个计算表达式,系统运行后得出计算结果,如果结果等于24,则显示“Congratulation!”,否则显示“Incorrect!”设计思路:从键盘输入中缀表达式,然后将中缀表达式转换为后缀表达式,利用后缀表达式求值。

1.1.2 迷宫探索随机生成一个迷宫图,迷宫大小为N*N,N预定义为常数,修改N的值可以改变迷宫的大小。

用白色表示可走的路,蓝色表示墙壁不可以通过。

系统设计两种运行方式:一种是系统自动探索(用递归方法实现);另一种是由人工操作探索通路。

设计思路:程序首先要考虑迷宫的表示,这是一个二维关系图,所以可选择二维数组来存储。

数组元素只有两种值0和1,分别代表通路和墙壁。

图形的显示可以根据数组元素的值来确定。

如果是人工探索,则依据按键来确定探索物的位置坐标,利用循环语句实现。

如果是系统自动探索,可采用递归算法实现。

1.1.3 二叉树遍历演示演示遍历二叉树的过程,所以首先建立二叉树,并用图形显示出树的形状。

建立的过程是采用前序便利的方法来创建,设计两种生成树的方式:一种是系统随机生成,另一种是人工输入。

考虑到屏幕界面的有限性,限定二叉树不超过5层,最多26个字符,输入字符小数点“.”代表NULL。

初始树为某种颜色的结点,三种情况的遍历采用填充另外一种醒目的颜色,来表示当前遍历的结点,同时显示该结点的访问序号。

数据结构课程设计2013

数据结构课程设计2013

数据结构课程设计题目(2013年)一、必做题1、图书管理系统(线性表)[问题描述]设计一个程序,记录并统计图书使用情况。

[基本要求](1)图书信息包括图书ID号,图书名,出版社名,出版年月,馆藏册数。

(2)学生信息包括学号,姓名,班级,在借册数,已还册数,违约次数。

(3)借阅信息包括图书ID号,图书名,学号,姓名,借阅日期,应还日期,归还日期。

(4)采用顺序存储线性表表示图书信息。

采用链式存储线性表表示学生信息。

采用双向循环链表表示借阅信息。

其中一个双向循环链表表示在借的借阅信息,按照图书ID 号非递减排序;另一个双向循环链表表示已还的借阅信息,按照图书ID号非递减排序。

(5)图书信息,学生信息、借阅信息采用文件方式输入。

图书信息示例如下,每条信息一行:16000001 数据结构清华大学出版社 2012.10 30学生信息示例如下,每条信息一行:161340106 张三 1613401 5 10借阅信息示例如下,每条信息一行:标志位1(1 表示借阅 2表示归还) 16000001 数据结构 161340106 张三2013.9.12 (借阅时表示借阅日期,应还日期自动生成,根据借阅日期+60天;归还时表示归还日期,归还日期要在借阅日期之后,应还日期之前,如果超过应还日期,则记录一次违约次数)。

例如借阅: 1 16000001 数据结构 161340106 张三 2013.9.12归还: 2 16000001 数据结构 161340106 张三 2013.10.20(6)规定每位学生不能同时借阅同一本书两本及以上。

图书归还后,将该条借阅信息从借阅链表中转移到归还链表中。

(7)要求模拟数据中图书信息至少30本以上,学生信息至少20条以上,借阅信息至少50条以上。

(8)能够统计每一本图书被借阅次数(已还),在借册数。

查询每一位学生的借阅历史明细记录。

统计学生平均借阅次数,最大借阅次数,最少借阅次数。

(9)可在此要求基础上进行功能扩展。

数据结构课程设计安排

数据结构课程设计安排

数据结构课程设计安排一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点及应用场景。

2. 学会分析不同数据结构在解决实际问题中的优劣,并能够选择合适的数据结构进行问题求解。

3. 掌握常见排序算法和查找算法,了解其时间复杂度和空间复杂度。

技能目标:1. 培养学生运用数据结构解决实际问题的能力,提高编程实践能力。

2. 培养学生通过分析问题,设计并实现相应数据结构及其算法的能力。

情感态度价值观目标:1. 激发学生对数据结构和算法的兴趣,培养主动探究和自主学习的精神。

2. 培养学生面对复杂数据结构问题时,保持积极的态度,勇于克服困难,善于合作与交流。

3. 增强学生的创新意识,培养将数据结构知识应用于实际生活中的能力。

课程性质:本课程为计算机科学与技术及相关专业的一门专业基础课,旨在帮助学生建立扎实的数据结构基础,提高编程能力和解决问题的能力。

学生特点:学生已具备一定的编程基础,对数据结构有初步了解,但缺乏深入理解和实践。

教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和课堂实践,使学生掌握数据结构的基本知识,提高解决实际问题的能力。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. 线性表:介绍线性表的定义、特点和基本操作,包括顺序存储和链式存储结构,以及线性表的应用案例。

2. 栈和队列:讲解栈和队列的基本概念、存储结构和操作方法,分析其应用场景,如表达式求值、递归算法等。

3. 串:探讨串的定义、存储结构以及模式匹配算法,如BF算法、KMP算法等。

4. 树:研究树的基本概念、二叉树、线索二叉树、二叉排序树、平衡二叉树、哈夫曼树及其应用。

5. 图:介绍图的定义、存储结构、遍历算法(深度优先和广度优先搜索)、最短路径算法(如Dijkstra和Floyd算法)、最小生成树算法(如Prim和Kruskal算法)等。

6. 排序算法:讲解常见排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)及其时间复杂度和空间复杂度。

2013级本数据结构实验教案-推荐下载

2013级本数据结构实验教案-推荐下载

随机数序列分别用冒泡排序、快速排序、希尔排序和堆排序方法进行排序,并比较它
们的运行时间。
-2-
注意:每三、四个同学组成一个小组。每个实验中的题目,可分别由不同的同学 完成。其它题目可以相互交流,以利于互相提高。
-3-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

《数据结构》课程教学设计(全文)

《数据结构》课程教学设计(全文)

《数据结构》课程教学设计(全文)《数据结构》课程教学设计一、引言在现代信息时代,数据的存储和处理变得尤为重要。

数据结构作为计算机科学的基石学科,对于学生来说具有重要的意义。

本文将围绕《数据结构》课程的教学设计展开讨论,探索如何有效地传授数据结构的基本理论和实践应用。

二、课程目标1. 理论目标通过学习《数据结构》课程,学生应该能够掌握数据结构的相关概念、基本算法和高级数据结构的设计与应用。

他们应该能够熟练地运用这些知识解决实际问题,并能够分析和评估不同数据结构的优劣之处。

2. 实践目标学生应该具备使用计算机编程语言实现常见数据结构的能力。

他们应该能够进行数据结构的设计和优化,以提高算法的效率和性能。

同时,他们还应该培养良好的团队合作和沟通能力,能够与他人合作解决复杂的数据结构问题。

三、课程内容与安排1. 数据结构基础(1) 线性表:顺序表、链表、栈、队列(2) 树结构:二叉树、堆、哈夫曼树(3) 图结构:图的表示方法、图的遍历算法(4) 查找算法:顺序查找、二分查找、哈希查找2. 高级数据结构(1) 树结构:平衡二叉树、B树、AVL树(2) 图结构:最短路径算法、最小生成树算法(3) 排序算法:冒泡排序、插入排序、选择排序、快速排序、归并排序3. 数据结构的应用(1) 文件系统:目录结构的设计与实现(2) 数据库:索引结构的设计与实现(3) 图像处理:图像的表示与处理算法4. 课程实践(1) 编程实践:使用编程语言实现常见数据结构和算法(2) 项目实践:团队合作完成一个基于数据结构的实际项目,例如一个简单的信息管理系统四、教学方法与手段1. 理论授课通过教师的讲解和演示,向学生介绍不同数据结构的概念、特点和应用场景。

教师可以使用多媒体辅助工具展示各种数据结构的实际演示,并引导学生进行思考和讨论。

2. 实验课程在计算机实验室中,学生将通过编程实践来巩固所学的理论知识。

例如,学生可以编写代码实现链表、二叉树等数据结构,并通过实验来验证它们的正确性和效率。

2013级软件工程专业数据结构课程设计方案V1.0要点

2013级软件工程专业数据结构课程设计方案V1.0要点

2013级软件工程专业《数据结构课程设计》方案V1.0一、课程任务要求独立完成一个或多个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构课程中概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高;经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。

二、具体要求1.每人应至少独立完成一道题目并撰写课程报告,具体题目由任课老师组织分配,题目一旦选定,未经老师同意,不得私自更换,否则总评成绩为缺成绩。

2.按时出勤,旷课2次直接取消答辩资格,旷课1次总评成绩降低1个等级。

3. 听从值班老师安排,按所选题目分区坐在指定位置。

4. 按时提交课程设计资料,未按格式或未在规定时间提交资料的,总评成绩为缺成绩。

三、具体安排1. 时间:18周周一至周五上午、下午2. 地点:4-312(1、2、3题)、4-313(4、5、6题)3. 答辩时间:19周周1上午、下午4. 课程设计具体考核标准和流程由题目指导老师负责。

四、课程设计题目与内容1. 数据压缩与解压缩利用哈夫曼编码完成数据的压缩与解压缩,具体要求如下:(1)哈夫曼编码的动画显示,程序运行界面如下:(40分)在上面文本框中输入待编码的字符串,点击“Show Huffman Tree”按钮输入,生成哈夫曼树并显示该字符串的哈夫曼编码。

如下图所示:在下面文本框中输入二进制哈夫曼串,点击“Decode Text”,能够还原为原来的字符。

比如输入"001" 显示"w",输入"01001" 显示"ow",如下图所示:(2)在上面程序的基础上,编写程序,在控制台或GUI中输入文件名(如filename.dat),通过哈夫曼数据压缩算法生成filename.new, 同时,使用数组存储每个字符哈夫曼编码,通过对象输出流将该数组写入文件filename.huf中。

2013软件工程数据结构实验教案

2013软件工程数据结构实验教案

实验教案实验一栈和队列重点:1.掌握如何使用STL中的栈2.掌握如何自己编写栈的代码难点:用数组实现栈的原理,并能用c++描述具体实验讲解如下:本实验是要通过几段代码的编写,熟悉栈和队列的编写和应用在实验指导书中有4个题目,其中题目1、2、3是关于栈的,题目4是关于队列的。

其中题目1难度小,题目2和题目3是有联系的,经过努力可以做出,但是题目4难度大些,属于选作内容1.题目一(STL中的栈)读懂实验指导书中的Task1中的程序(使用栈进行序列的顺序反转),并编译运行,通过此了解如果要实现一个栈类,里面需要的基本的成员函数。

这个程序在书上也有。

(1)由于程序是用了STL(标准模板库,可以简单的看成是一个函数库,在其中有各种有用的类、函数和算法),栈在其中有实现。

栈在STL中的实现用到了类模板,也就是说其栈是独立于类型的,模板提供参数化类型,也就是能将类型名作为参数传递给接收方来建立类或函数。

比如stack<double> numbers;中就是声明了一个栈,这个栈中存放的数据类型为double。

(2)注意要使用c++的输入输出需要加上几行语句如下,因为cout和cin是在命名空间std中的:#include <iostream>using namespace std;2.题目二、题目三(自己编写栈)这里可以把题目二和题目三合成一个题目,在一个程序中完成就可以了。

合并后的题目如下:自己编程程序实现一个简单的栈,并用于替换题目1中对标准模板库中的栈的使用,同时对自己实现的栈的功能进行扩充,添加实现如下几个函数(a) clear (b) full (c) size。

使用新添加的栈函数,显示在进行数字序列反转时输入的十进制数的个数。

注意:(1)实验题目文档中已经把大部分的代码都给出来了。

栈可以用链表或者数组实现,这里是用数组实现。

(2)实验题目中给出的仅仅是部分的代码,自己还需要在看懂的前提下,进行修改补充,才可以达到具体的要求,不明白的地方也可以参考书上这一部分。

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

2013级软件工程专业《数据结构课程设计》方案V1.0
一、课程任务
要求独立完成一个或多个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构课程中概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高;经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。

二、具体要求
1.每人应至少独立完成一道题目并撰写课程报告,具体题目由任课老师组织分配,题目一旦选定,未经老师同意,不得私自更换,否则总评成绩为缺成绩。

2.按时出勤,旷课2次直接取消答辩资格,旷课1次总评成绩降低1个等级。

3. 听从值班老师安排,按所选题目分区坐在指定位置。

4. 按时提交课程设计资料,未按格式或未在规定时间提交资料的,总评成绩为缺成绩。

三、具体安排
1. 时间:18周周一至周五上午、下午
2. 地点:4-312(1、2、3题)、4-313(4、5、6题)
3. 答辩时间:19周周1上午、下午
4. 课程设计具体考核标准和流程由题目指导老师负责。

四、课程设计题目与内容
1. 数据压缩与解压缩
利用哈夫曼编码完成数据的压缩与解压缩,具体要求如下:
(1)哈夫曼编码的动画显示,程序运行界面如下:(40分)
在上面文本框中输入待编码的字符串,点击“Show Huffman Tree”按钮输入,生成哈夫曼树并显示该字符串的哈夫曼编码。

如下图所示:
在下面文本框中输入二进制哈夫曼串,点击“Decode Text”,能够还原为原来的字符。

比如输入"001" 显示"w",输入"01001" 显示"ow",如下图所示:
(2)在上面程序的基础上,编写程序,在控制台或GUI中输入文件名(如filename.dat),通过哈夫曼数据压缩算法生成filename.new, 同时,使用数组存储每个字符哈夫曼编码,通过对象输出流将该数组写入文件filename.huf中。

(30分)
(3)在上面程序的基础上,通过文件filename.huf解压文件filename.new,生产文件filename.txt。

(30分)
2. 全国交通咨询模拟
[问题描述]
处于不同目的的旅客对交通工具有不同的要求。

例如,因公出差的旅客希望在旅途中的时间尽可能的短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。

编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

[设计要求]
(1)提供对城市信息进行编辑(如:添加或删除)的功能。

(2)城市之间有两种交通工具:火车和飞机。

提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:最快到达和最省钱到达。

全程只考虑一种交通工具。

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。

由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

[实现提示]
(1)对全国城市交通图和列车时刻表及飞机航班表进行编辑,应该提供文件形式输入和键盘输入两种方式。

飞机航班表的信息应包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:对从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至上海各段的出发时间、到达时间及票价等信息。

(2)以邻接表作交通图的存储结构,表示边的结构内除含有邻接点的信息外,还应包括交通工具、路程中耗费的时间和花费以及出发和到达的时间等多种属性。

(3)增加旅途中转次数最少的最优决策。

3. 24点扑克牌游戏
题目背景:
一副牌中抽去大小王剩下52张(如果初练也可只用1~10这40张牌),任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。

每张牌必须用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3或3×8+(9-8)或(9- 8÷8)×3等。

本题主要考查栈、集合、数组、递归、穷举等知识。

可参考:
/link?url=2KyoNLQJM9hd_KrFOTSNbwoN bbsM854nWlYHKe7qK61YSiUZYeAsj0RV oqsu81MteLCviY4Tf8CCX HG5nWftTK
/topics/390499220
/s/blog_5f3e269a0100dm5a.html
/p-364720041.html
版本1:满分30分
从52张牌中任意选取4张扑克牌,如下图,每张牌表示一个数字
输入由四张被选择的扑克牌牌面的四个数字构成的一个表达式10*(8-6)+4,如下图
点击验证按钮,显示消息:
如输入的表达式为10+8+6-4,得不到正确的结果,显示消息:
如输入的数据与纸牌数据不同,显示消息:
点击刷新按钮,得到另外4张牌。

版本2:满分40分
改进版本1,如果解存在,就显示该解。

如果存在多个解,显示这样的多个解。

如8,6,2,1,可能的
解有:6+(8+1)*2,8*(6-2-1),……
如果不存在解,显示无解消息。

由用户输入1到13之间的4个数,检查是否有解。

版本4:满分30分 从52张牌中选择4张牌,这4张牌可能无解。

从52张牌中选择4张牌的挑选次数是多少?
在这些所有可能的选择中,有多少有解?
成功的几率是多少?
编程求解上述问题。

4. 16枚硬币的反面问题
题目背景:
教材中的9枚硬币问题使用的是3*3的矩阵,假设在一个4*4的矩阵中放置了16枚硬币。

该问题可进一步变化为如2*3,2*4,3*4Total number of combinations is 270725
Total number of combinations with solutions is 217781 The solution ratio is 0.8044362360328747
等等任意结构的情形。

本题主要考查对图的结构和图的广度优先遍历操作的掌握。

版本1:满分30分
参考9枚硬币反面问题的模型,建立16枚硬币反面问题的模型,以及其他结构的模型。

版本2:满分40分
参考9枚硬币反面问题的解决方法,解决16枚硬币的反面问题。

进一步解决其它结构的反面问题。

版本3:满分30分
修改硬币翻转规则,如规则改为对角线上的邻居被翻转,或者任意自定义的翻转规则。

重新解决上述问题。

5. 线性表、树、图的操作和演示
(1)线性表:满分40分
实现接口MyList、抽象类MyAbstractList、基于顺序存储线性表MyArrayList、基于链式存储的线性表MyLinkedList。

实现方式如下:
给出MyArrayList 和MyLinkedList 操作的动画演示,如下图:
实现栈MyStack 和队列MyQueue 。

实现方式如下:
给出MyStack 和MyQueue 的动画操作,如下图:
MyArrayList MyStack MyLinkedList
MyQueue
(2)树:满分20分
设计实现二叉查找树,并以动画形式演示在其上的插入、查找、删除等操作。

(3)图:满分40分
设计实现接口Graph、抽象类AbstractGraph、具体类UnweightedGraph和WeightedGraph类。

实现方式如下:
并用动画方式显示无权图的深度优先遍历、广度优先遍历;
使用动画方式显示带权图的最小生成树、最短路径:
6. 模拟浏览器
版本1:满分(30分)
编写程序,将一个Java文件转换为HTML一个文件。

在HTML 文件中,关键字、注释和字面值分别用粗体的深蓝色、绿色和蓝色显示。

使用命令行参数传递Java文件和HTML文件。

运行显示如下:
版本2:满分20分
开发通过Web服务器从远程主机上读取文件客户端程序,用户
界面包括一个用于输入URL的文本域、一个用于显示文件的文本域,用户通过按Enter键提交行为。

运行如下:
版本3:满分50分
添加后退、前进、停止、刷新、转到主页等功能,完成模拟浏览器。

相关文档
最新文档