数据结构课程设计

发布 2022-10-05 02:12:28 阅读 6301

通讯录管理一元多项式计算拓扑排序建立二叉树,层序、先序遍历。

景德镇陶瓷学院信息工程学院。

数据结构》课程设计指导书。

2024年6月)

指导老师:李娟。

2024年6月。

目录。第一节、序言 2

第二节、课程设计要求 3

第三节、课程设计**的格式 4

第四节、考勤及考核 5

第五节、课题及任务(题目及要求) 6

题目 1 通讯录管理** 6

题目 2 运动会分数统计** 7

题目 3 一元多项式计算 7

题目 4 迷宫求解 8

题目 5 文章编辑** 8

题目 6 joseph环 9

题目 7 建立二叉树,层序、先序遍历 9

题目 8 哈夫曼编码的应用 10

题目 9 扑克牌游戏 10

题目 10 商品货架管理** 11

题目 11 行文本编辑器** 11

题目12 作业调度** 12

题目13 图(校园导游图)**14

题目14 拓扑排序 15

题目15 教学计划编编制问题** 15

题目16 航空客运订票系统** 16

第六节、时间安排 17

数据结构》课程设计是为配合课堂教学,使学生进一步掌握《数据结构》课程中有关理论知识,并通过对具体事物的分析,得出抽象的结构(关系),建立数据模型(公式),并最终设计出良好的算法(流程图)。本次课程设计统一要求用c或c++语言编程并调试(程序设计),以提高学生的程序设计及解决实际问题的能力;并为后续课程学习打下基础。

本次课程设计所列问题,大都与现实生活密切相关,并且其包含了《数据结构》课程中所讲述的基本类型,具有典型意义。

要求学生利用《数据结构》课程有关理论,参考本手册所介绍的软件工程的的相关方法,对不同问题分别进行需求分析,概要设计,然后进行详细设计和**的编写,并进行测试得出相应软件,最后编写软件说明及课程设计**。

由于只有二周共十天的时间,为使学生能尽快抓住问题的本质,每个题目不但给出了问题描述,要求,还给出实现提示,以便学生能尽快完成课程设计任务。

学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。

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

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

数据结构是一门涉及多门课程的课程,难度较大,需要较好的c/c++语言的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获。

1、 对每个题目要有需求分析。

在需求分析中,将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。

给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。

对有些题目提出算法改进方案,比较不同算法的优缺点。如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;

2、 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分)

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环。

3、 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。

4、 对每个模块的层次结构用具体的语言来实现(c++语言)。

5、 编写软件使用说明手册。

6、 课程设计的上交作业包括:课程设计**+源程序+可执行程序+运行说明文档。

全体同学在课程设计期间,必须在上课时间到专业机房进行考勤,一天四次(早上8:00及11:30,下午2:30及4:10)。

每位同学必须的课题完成之后,必须通过指导老师的考核,基本完成课题要求的起点为合格,另根据具体完成模块情况进行考核评分。

数据结构》课程设计的最后成绩有以下几个方面组成:

程序运**况(20分),程序的结构合理与否(10分),算法说明的清晰程度(10分),上交磁盘中程序存放的规范程度(10分),总结的深刻程度(10分),课设过程中的课设进展情况(应该至少有四次)(20分),独立完成情况(学生间不相互雷同)(20分),以及加分因素(10分);共110分。

附注:1. 在学生实习中,学生若有3次考勤不到,综合评定成绩不得超过中以上成绩;

2. 在学生实习中,学生若有5次考勤不到,综合评定成绩不得超过及格及以上成绩;

3. 在学生实习中,学生若有7次考勤不到,综合评定成绩为不及格。

4. 在学生实习中,发现学生有抄袭现象,综合评定成绩为不及格。

本次课程设计完成如下模块(共16个模块,学生至少挑选4个功能块完成,但有**号的模块至少选择1项,多做可以加分)

1、问题描述。

通讯录管理是一个比较实用的小型管理系统,该系统用于对通讯人员的姓名、**号码的管理。该设计采用菜单作为应用程序的主要界面,用控制语句来改变程序执行的顺序,控制语句是实现结构化程序设计的基础。该设计的任务是利用一个简单实用的菜单,通过菜单项进行选择,实现和完成通讯录管理中常用的几个不同的功能。

2、 要求。

功能要求:1) 建立通讯录的链表;

2) 插入通讯录信息;

3) 查询通讯录信息;

4) 删除通讯录信息;

5) 输出通讯录信息。

规定:输入通讯录的信息:编号、姓名、性别、**、地址。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:利用单链表存储通讯录信息,同时要求将通讯信息相关数据存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。

1、问题描述。

参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为,前三名的积分分别为;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)

3、 要求。

功能要求:6) 可以输入各个项目的前三名或前五名的成绩;

7) 能统计各学校总分;

8) 可以按学校编号、学校总分、男女团体总分排序输出;

9) 可以按学校编号查询学校某个项目的情况;

10) 可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:有中文提示,各学校分数为整数。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。

1、问题描述。

1)、能够按照指数降序排列建立并输出多项式;

2)、能够完成两个多项式的相加、相减,并将结果输入。

2、要求。在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图) 、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。

1、问题描述。

可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出。

2、要求。在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。

1、问题描述。

输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共n行。

2、要求。1)分别统计出其中英文字母数和空格数及整篇文章总字数;

2)统计某一字符串在文章**现的次数,并输出该次数;

3)删除某一子串,并将后面的字符前移。

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...