B131000920_数据结构课程设计_课题要求(201612)(计1501-08、物1501-02)

合集下载

数据结构课程设计要求

数据结构课程设计要求

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

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

2. 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,二、数据结构课程设计题目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)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在 c 语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;2. 飞机订票系统(限1 人完成)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

数据结构课程设计完整版

数据结构课程设计完整版

通讯录操作系统一.需求分析当今时代是飞速发展的信息时代。

在各行各业中离不开信息管理以及处理,这正是计算机被广泛应用于管理系统的原因。

计算机管理的好处在于利用它能够进行信息储存以及信息编辑。

用计算机储存和控制,大大提高了工作效率也减少了好多人的工作量。

通讯录信息系统不仅仅帮助了人们记忆,同时也为不少管理者提供了方便。

其设计理念较简单,将传统的纸张与笔录方式改为计算机自动化进行通讯录信息管理,既省时间又提高工作效率。

用c语言构建的通讯录系统设计,通过课上学到一些关于结构体、数组、指针、函数以及循环函数的运用和字符串的处理等基本知识可以初步的实现通讯录的输入、显示、查找、删除等简单实用功能,给人们带来更多的方便。

通讯录信息系统的主要功能清单如下:1) 建立通讯录链表;2) 通讯者结点的插入(按编号的次序插入有序通讯录表);3) 通讯者信息的查询(按编号或姓名查找通讯者信息);4) 通讯者信息的删除(按编号或姓名删除通讯者信息);5) 通讯录的显示(显示所有通讯者信息列表);6) 通讯录信息系统的退出测试数据见调试分析。

二.详细设计算法分析:↓↓↓↓↓↓主函数流程图:主函数流程图创建函数流程图:显示通讯录流程图:查找函数流程图(1)find函数:find函数流程图(2)search函数Search函数流程图删除操作流程图:插入函数流程图:退出函数流程图:图11退出函数流程图3)调试分析及测试结果进入系统后,系统会出现图所示菜单:在主菜单中输入1后,系统会给出提示,如图所示:在主菜单中输入3后,输入要找的姓名。

在系统没有要找信息时或链表为空时,系统会给出提示,确认用户是否继续查找,如图所示:(链表为空时的查找)若要继续查找则按1 ,不是则按0,如图所示:(链表非空的查找)在主菜单中输入0后,系统会给出提示,提示用户输入相关信息,如图所示:依次输入提示信息输入信息:1wuyifeinv139********Wuhan2wwnv132********Wuhan再在主菜单输入1后,程序显示如图所示:在主菜单中输入2后输入要删除的编号,系统便自动删除要删除的通讯录信息,如图15所示:按1显示查看是否删除如图:输入4进行插入操作,如图所示:插入信息如下2wyfnv12345678912wuhan按1进行显示如下图:现在如果没有其他的操作则可按5退出,操作如图所示:实验心得:通过这次课程设计,我熟练的掌握了结构体、数组、指针、函数以及循环函数的运用和字符串的处理,了解代码中出现错误寻找错误的方法,初步了解到了一个完整的应用程序,应该如何处理美观与实用之间的关系,如何处理实际需求与操作难度之间的关系,并让我深刻了解到数据结构这门课的重要性和实用性,在以后的学习中,我将更加努力的学习并动手实践这门课程。

数据结构课程设计pdf

数据结构课程设计pdf

数据结构课程设计 pdf一、课程目标知识目标:1. 让学生掌握数据结构的基本概念,包括线性表、栈、队列、树、图等;2. 使学生了解不同数据结构的特点,并能运用其解决实际问题;3. 引导学生掌握常见数据结构的相关算法,如排序、查找等。

技能目标:1. 培养学生运用数据结构描述问题的能力,提高编程实现复杂问题的技能;2. 培养学生具备分析算法复杂度,选择合适数据结构和算法解决问题的能力;3. 提高学生的团队协作能力,通过小组讨论和项目实践,培养学生的沟通表达能力和协作精神。

情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养学生主动探索、勇于创新的精神;2. 培养学生具备良好的学习习惯,严谨的学术态度,对待问题敢于质疑、善于思考;3. 引导学生认识到数据结构在实际应用中的重要性,提高学生的专业认同感。

本课程针对高中年级学生,结合数据结构课程性质,注重理论与实践相结合,培养学生解决实际问题的能力。

考虑到学生的年龄特点,课程设计力求生动有趣,以激发学生的学习兴趣。

在教学过程中,注重启发式教学,引导学生主动探索、积极思考,提高学生的综合素质。

通过本课程的学习,期望学生能够达到上述课程目标,为后续计算机科学课程打下坚实基础。

二、教学内容1. 线性表:介绍线性表的定义、特点和基本操作,包括顺序存储和链式存储的实现方法。

教材章节:第一章第一节进度安排:2课时2. 栈和队列:讲解栈和队列的基本概念、性质以及应用场景,实现顺序栈和链栈、循环队列等。

教材章节:第一章第二节进度安排:3课时3. 树和二叉树:阐述树和二叉树的基本概念、性质、存储结构及遍历方法,包括二叉排序树、平衡二叉树等。

教材章节:第二章进度安排:5课时4. 图:介绍图的定义、存储结构、遍历算法以及最短路径、最小生成树等算法。

教材章节:第三章进度安排:5课时5. 排序与查找:讲解常见排序算法(冒泡、选择、插入等)和查找算法(顺序、二分、哈希等),分析其算法复杂度。

B131000920_数据结构课程设计_课题报告模板(201612)(计1501-08、物1501-02)

B131000920_数据结构课程设计_课题报告模板(201612)(计1501-08、物1501-02)

附表1:数据结构课程设计报告格式说明附表1-1 封面格式示例东北大学计算机科学与工程学院数据结构课程设计报告题目哈夫曼压缩软件设计课题组长刘光明课题组成员赵美白李晨悦专业名称计算机科学与技术班级计1201指导教师张斌2016 年1月课程设计任务书课题程序设计分工课题报告分工附表1-4 课程设计报告目录格式示例目录1 课题概述 (1)1.1 课题任务 (1)1.2 课题原理 (1)1.3 相关知识 (3)2 需求分析 (4)2.1 课题调研 (4)2.2 用户需求分析 (5)3 方案设计 (7)3.1 总体功能设计 (7)3.2 数据结构设计 (8)3.3 函数原型设计 (10)3.4 主算法设计 (12)3.5 用户界面设计 (13)3.6 输入输出设计 (14)4 方案实现 (15)4.1 开发环境与工具 (15)4.2 程序设计关键技术 (16)4.3 个人设计实现(按组员分工) (16)4.3.1 张三设计实现 (17)5 测试与调试 (23)5.1 个人测试(按组员分工) (23)5.1.1 张三测试 (23)5.2 组装与系统测试 (33)5.3 系统运行 (36)6 课题总结 (39)6.1 课题评价 (39)6.2 团队协作 (40)6.3 个人设计小结(按组员分工) (42)6.3.1 张三设计小结 (42)7 附录 (50)A 课题任务分工 (50)A-1 课题程序设计分工 (50)A-2 课题报告分工 (51)B 课题设计文档(光盘) (52)B-1课程设计报告(电子版) (52)B-2源程序代码(*.H,*.CPP) (52)B-3工程与可执行文件 (52)B-4屏幕演示录像文件(可选) (52)C 使用手册(可选) (53)C.1 运行环境说明 (53)C.2 操作说明 (54)附表1-5 课题报告正文格式示例1 课题背景(三号)1.1 课题来源(四号)随着现代科学技术迅猛发展,全球经济一体化的趋势加强,各国都面临着前所未有的机遇和挑战。

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

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

《数据结构》课程设计计划书班级: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、掌握线性链表的建立。

数据结构课程设计要求

数据结构课程设计要求

数据结构课程设计要求做与不做的最大区别是:后者拥有对前者的评论权。

数据结构课程设计要求一、课程设计的步骤数据结构课程设计就是综合运用本课程所学到的知识来解决实际问题。

计算机解决一个具体问题一般需要经过下列几个步骤:首先要从该具体问题抽象出一个适当的数学模型;然后设计或选择一个解此数学模型的算法;最后编出程序进行调试、测试,直至得到最终的解答。

课程设计也是按照这个步骤进行,下面介绍各阶段的内容。

1.建立模型建立模型通常包括所描述问题中的数据对象及其关系的描述、问题求解的要求及方法等方面。

将一个具体的问题转换为我们所熟悉的模型,就可以很容易进行求解。

《数据结构》课程中所介绍的各种结构也是数学模型。

数学模型的建立是求解实际问题的基础。

正确选择数学模型是解决问题的关键,这就要求我们具有扎实的数学基础,同时熟练地掌握数据结构所介绍的线性表、队列与栈、广义表、树和图等各种结构(模型)的存储方法和操作算法。

2.选择合适的存储结构在构造出求解算法之后,就需要考虑如何在计算机上实现。

从算法到程序还是有一定距离的。

为此,需要做两方面的工作,其一是选择合适的存储结构,其二是用指定的计算机语言来描述算法。

下面先讨论第一个方面,即选择存储结构的问题。

选择合适的存储结构首先是为了将问题所涉及到的数据(包括数据中的基本对象及对象之间的关系)存储到计算机中。

此外,还需要考虑所选择的结构是否便于问题的求解,时间和空间复杂度是否符合要求。

在实际应用时,需根据问题的要求进行合理的选择及综合。

不同的存储形式对问题的求解实现有较大的影响,所占用的存储空间也可能有较大的差异。

3.构造求解算法在建立好模型之后,一个具体的问题就变成了一个用模型所描述的抽象的问题。

借助于这一模型以及已有的知识(例如数据结构中的基本知识),我们可以相对容易地描述出原问题的求解方法即算法。

从某种意义上说,该算法不仅能实现原问题的求解,而且还能实现许多类似的具体问题的求解,尽管这些具体问题的背景及其描述形式可能存在较大的差异。

数据结构课程设计

数据结构课程设计1. 引言数据结构是计算机科学中非常重要的一门课程,它研究将数据组织和存储在计算机中的方法。

为了更好地掌握数据结构的理论知识和实践能力,本课程设计将帮助学生深入了解和应用各种常见的数据结构。

2. 课程设计目标本课程设计的主要目标是帮助学生掌握以下内容:- 理解不同数据结构的特点和适用场景;- 掌握常见数据结构的实现原理和相关算法;- 能够灵活运用数据结构解决实际问题;- 培养学生的编程能力和问题解决能力。

3. 课程设计内容3.1 线性数据结构线性数据结构是数据元素之间存在一对一关系的数据结构,包括数组、链表、队列和栈等。

学生需要通过实例讲解和编程实践来理解它们的概念和实现方法,例如使用数组实现队列和栈等。

3.2 树形数据结构树形数据结构是一种重要的非线性数据结构,包括二叉树、二叉搜索树、堆和哈希表等。

学生需要学习树的基本概念、遍历算法和相关实现方式,如平衡二叉树的调整和哈希函数的设计等。

3.3 图形数据结构图形数据结构是由节点和边组成的复杂数据结构,包括有向图和无向图等。

学生需要了解图的基本概念、图的遍历算法和最短路径算法等。

通过编程实践,学生可以实现常见的图算法,如深度优先搜索和广度优先搜索等。

4. 课程设计实践4.1 编程作业学生将通过完成一系列编程作业来应用所学的数据结构知识。

每个作业都与实际问题密切相关,例如实现一个通讯录管理系统,利用二叉搜索树实现一个字典等。

通过这些作业,学生将深入理解数据结构的应用和实现。

4.2 小组项目学生将分组进行一个小组项目,用于解决一个与数据结构相关的实际问题。

例如,通过利用图算法实现地图导航系统,或者使用哈希表进行文本搜索和替换等。

这些项目将要求学生合作解决问题,提高他们的团队合作能力和创新能力。

5. 课程设计评估为了评估学生对数据结构的掌握程度,将进行以下评估方式:- 编程作业的完成情况和代码质量;- 小组项目的展示和实际应用效果;- 期末考试,包括理论知识和问题解决能力的考察。

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

《数据结构》课程设计任务书一、设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、设计要求1.通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

2.学生必须仔细研读《数据结构》课程设计要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。

3.本次课程设计按照教学要求需要在一周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时地向指导教师汇报。

4.编程语言任选。

三、设计选题选题说明:前面6个为基础题(必选一题,可达60分),后面题目*越多难度越大,根据实际选做题目的难度和数量以及实现程序的完善性可以适当加减分;同学们在选题时,要结合个人实际情况,确保及格,力争多做。

1.集合的并、交和差运算任务:编制一个能演示执行集合的并、交和差运算的程序。

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

(2) 演示程序以用户和计算机的对话方式执行。

实现提示:以链表表示集合。

选作内容:(1) 集合的元素判定和子集判定运算。

(2) 求集合的补集。

(3) 集合的混合运算表达式求值。

(4) 集合的元素类型推广到其他类型,甚至任意类型。

2.停车场管理任务:设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。

汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。

《数据结构》课程设计报告

《数据结构》课程设计报告一、课程目标《数据结构》课程旨在帮助学生掌握计算机科学中数据结构的基本概念、原理及实现方法,培养其运用数据结构解决实际问题的能力。

本课程目标如下:1. 知识目标:(1)理解数据结构的基本概念,包括线性表、栈、队列、串、数组、树、图等;(2)掌握各类数据结构的存储表示和实现方法;(3)了解常见算法的时间复杂度和空间复杂度分析;(4)掌握排序和查找算法的基本原理和实现。

2. 技能目标:(1)能够运用所学数据结构解决实际问题,如实现字符串匹配、图的遍历等;(2)具备分析算法性能的能力,能够根据实际问题选择合适的算法和数据结构;(3)具备一定的编程能力,能够用编程语言实现各类数据结构和算法。

3. 情感态度价值观目标:(1)培养学生对计算机科学的兴趣,激发其探索精神;(2)培养学生团队合作意识,提高沟通与协作能力;(3)培养学生面对问题勇于挑战、善于分析、解决问题的能力;(4)引导学生认识到数据结构在计算机科学中的重要地位,激发其学习后续课程的兴趣。

本课程针对高年级学生,课程性质为专业核心课。

结合学生特点,课程目标注重理论与实践相结合,强调培养学生的实际操作能力和解决问题的能力。

在教学过程中,教师需关注学生的个体差异,因材施教,确保课程目标的达成。

通过本课程的学习,学生将具备扎实的数据结构基础,为后续相关课程学习和职业发展奠定基础。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 数据结构基本概念:线性表、栈、队列、串、数组、树、图等;教学大纲:第1章 数据结构概述,第2章 线性表,第3章 栈和队列,第4章 串。

2. 数据结构的存储表示和实现方法:教学大纲:第5章 数组和广义表,第6章 树和二叉树,第7章 图。

3. 常见算法的时间复杂度和空间复杂度分析:教学大纲:第8章 算法分析基础。

4. 排序和查找算法:教学大纲:第9章 排序,第10章 查找。

教学内容安排和进度如下:1. 第1-4章,共计12课时,了解基本概念,学会使用线性表、栈、队列等解决简单问题;2. 第5-7章,共计18课时,学习数据结构的存储表示和实现方法,掌握树、图等复杂结构;3. 第8章,共计6课时,学习算法分析基础,能对常见算法进行时间复杂度和空间复杂度分析;4. 第9-10章,共计12课时,学习排序和查找算法,掌握各类算法的实现和应用。

数据结构课程设计pdf

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

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

3. 掌握各类数据结构的存储方式、操作方法及其时间复杂度分析。

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

2. 培养良好的数据结构设计能力,能够针对特定问题设计高效的数据存储和处理方法。

3. 学会使用可视化工具,将抽象的数据结构形象化,提高问题分析和解决能力。

情感态度价值观目标:1. 培养学生对数据结构的兴趣,激发学习热情,树立学科自信。

2. 培养学生的团队合作意识,提高沟通能力,学会倾听、尊重他人意见。

3. 培养学生勇于面对困难、敢于挑战的精神,形成积极向上的学习态度。

课程性质:本课程为计算机科学与技术专业核心课程,旨在帮助学生掌握数据结构的基本知识,提高编程能力和解决问题的能力。

学生特点:学生具备一定的编程基础和逻辑思维能力,但对数据结构的概念和应用尚不熟悉。

教学要求:结合实际案例,注重理论与实践相结合,培养学生的动手能力和创新能力。

通过本课程的学习,使学生能够熟练运用数据结构解决实际问题,为后续课程打下坚实基础。

教学过程中,关注学生的个体差异,充分调动学生的积极性,提高教学效果。

二、教学内容1. 线性表:介绍线性表的定义、特点,重点讲解顺序存储和链式存储方式,以及线性表的相关操作,如插入、删除、查找等。

教材章节:第二章 线性表内容安排:2课时2. 栈和队列:讲解栈和队列的基本概念、操作及应用场景,分析其时间复杂度。

教材章节:第三章 栈和队列内容安排:2课时3. 树:介绍树的基本概念、存储方式、遍历方法,以及二叉树、线索二叉树、二叉排序树等特殊树结构。

教材章节:第四章 树内容安排:4课时4. 图:讲解图的定义、存储方式(邻接矩阵和邻接表)、遍历方法(深度优先搜索和广度优先搜索),以及最小生成树、最短路径等算法。

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

《数据结构课程设计》实施方案(201612)(部分)--课题要求3 教学内容及基本要求3-1总体设计要求1、采用C/C++编程语言,推荐使用C++的类来完成综合训练题目,使用C++的模板类(STL),来完成研究性学习与创新性设计题目。

2、软件采用模块化结构,划分功能模块,确定模块间的联系,实现模块的算法。

3、软件测试与调试,给出必要的测试用例数据。

4、软件要完成界面设计,推荐设计可视化界面。

5、完成设计要求中规定的基本功能。

6、在完成基本设计要求的基础上,可以增加和完善功能。

7、对所完成的课题的算法进行时间和空间的性能评价。

8、针对创新性应用课题,在数据结构或算法设计中有所创新。

9、学生在软件开发中要体现团队协作精神和程序设计的调试能力。

3-2 综合训练性题目(A类)综合训练性题目的设计考虑到与课堂讲授的内容相衔接,以问题为中心,体现数据结构的综合应用。

本次课程设计共安排15个综合训练性A类可选题目。

1、立体化停车场管理【问题描述】设停车场有地上和地下两层,统一管理。

地下停车场采用单入口和单出口。

地上停车场采用南北方向的双口,每个口都有一个入口和出口。

停车顺序先地上,后地下。

地上入口处各有一个单车道的等候通道,并允许等候的车辆因急事从等候通道直接开走。

【设计要求】设计停车场模拟管理程序。

(1)采用栈、队列和有序表等数据结构。

(2)可以随机、文件及人工输入数据。

(3)等候车辆的管理。

(4)地下、地上停车位的管理。

(5)停车计费功能。

(6)其它完善性或扩展性功能。

2、运动会竞赛成绩统计【问题描述】东北大学第54届运动大会成功举行。

共有N个学院的学生男女代表队和教工代表队参赛。

大会共设M个学生男子项目和W个学生女子项目、R个教工团体项目。

大会即将闭幕,准备公布成绩。

【设计要求】设计运动会竞赛成绩统计程序。

(1)采用顺序表、集合等数据结构。

(2)可以随机、文件及人工输入数据。

(3)统计各代表队的男女总分和团体总分。

(4)采用堆排序,公布各单项成绩的前六名和团体成绩的前三名。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

3、银行业务模拟【问题描述】银行有N个窗口对外接待客户。

从早晨银行营业开始到晚间营业终止不断有客户办理业务。

银行门口设有取号机,分为一般业务和特殊业务,设每个一般业务不超过5分钟,每个特殊业务不超过15分钟。

客户在等候区内等候叫号。

【设计要求】设计银行客户业务的模拟程序。

(1)采用有序链表、队列等数据结构。

(2)可以随机、文件及人工输入数据。

(3)分类统计一天内客户在银行逗留的平均时间和人数。

(4)若特殊业务窗口空闲,可办理一般业务。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

4、电梯运行模拟【问题描述】东北大学综合办公楼有14层,设有4部自动电梯。

每梯最多载客12人。

从上班到下班不断有乘客使用电梯。

电梯运行每上下一层需5秒,空闲时,在某一层最多停留10秒,否则返回1层待命。

乘客等待电梯时间不超过T时间。

【设计要求】设计电梯工作运行的模拟程序。

(1)采用有序链表、队列、数组等数据结构。

(2)可以随机、文件及人工输入数据。

(3)实时显示电梯的工作运行状况。

(4)统计一天内每楼层电梯的使用人次数。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

5、哈夫曼压缩软件设计【问题描述】采用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。

利用哈夫曼编码对文本或图像进行数据压缩,设计数据压缩软件。

【设计要求】设计基于哈夫曼编码的文本和图像压缩软件。

(1)采用静态链表的二叉树等数据结构。

(2)可以随机、文件及人工输入数据。

(3)创建哈夫曼树,生成哈夫曼编码和译码。

(4)源码、编码和压缩后的信息均以文件形式保存。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

6、教务课程计划安排【问题描述】拓扑集合的划分可以解决教务课程安排问题。

高校每学年含两学期,每学期的教学周数和学分均有上限。

在教学计划一定的情况下,开设的课程必须满足次序关系。

拓扑集合的划分与拓扑排序的算法类似。

【设计要求】设计基于拓扑集合划分的教务课程编排模拟程序。

(1)采用图邻接表、栈等数据结构。

(2)可以随机、文件及人工输入数据。

(3)计算课程安排的最优划分,尽量使学期最短。

(4)可以统计数据并满足必要的约束条件。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

7、城市旅游购物交通咨询模拟【问题描述】沈阳城内有若干旅游观光景点和商业区。

游客主要以公交车为交通工具出游。

假设往返于每个景点和商业区的公交线路不少于6路。

旅客希望中转次数最少、时间最短、费用最省。

【设计要求】设计城市交通咨询模拟程序。

(1)采用图结构、集合等数据结构。

(2)可以随机、文件及人工输入数据。

(3)可以完成旅游、购物一日游的最佳线路。

(4)可以统计数据并满足必要的约束条件。

(5)可以查询和更新数据。

(6)其它完善性或扩展性功能。

8、校园光纤网络铺设【问题描述】东北大学铺设校园光纤网络。

假设有N个学院和办公楼,只需要铺设N-1条光缆通道。

采用最小生成树的算法,给出一个最佳铺设方案。

【设计要求】设计基于最小生成树的校园光缆铺设程序。

(1)采用图结构、并集树等数据结构。

(2)可以随机、文件及人工输入数据。

(3)采用克鲁斯卡尔算法设计最小代价生成树(4)可以采用堆排序算法选择权值最小的边。

(5)采用并集树完成树边的查询和合并。

(6)其它完善性或扩展性功能。

9、汽车牌照的快速查询【问题描述】在汽车数据的信息模型中,汽车牌照是具有结构特点的一类关键字。

汽车牌照是字母和数字混编的,例如01B7238。

利用查找和排序算法,实现辽宁省内汽车牌照的快速查找。

【设计要求】设计汽车牌照的快速查询程序。

(1)采用顺序表、静态链表等数据结构。

(2)可以随机、文件及人工输入数据。

(3)利用静态链表对汽车牌照进行链式基数排序。

(4)采用折半查找汽车牌照。

(5)可以按城市进行分块索引查找。

(6)其它完善性或扩展性功能。

10、十进制四则运算计算器【问题描述】由输入的四则运算表达式字符串,动态生成算术表达式所对应的二叉树,通过表达式二叉树自动求值并输出。

【设计要求】设计十进制整数四则运算计算器。

(1)采用二叉树、栈等数据结构。

(2)可以随机、文件及人工输入数据。

(3)给定表达式字符串,生成二叉链表的表达式二叉树。

(4)对表达式二叉树采用后序遍历求值并输出。

(5)具有计算整数和复数四则运算的功能。

(6)其它完善性或扩展性功能。

11、互联网域名信息管理系统【问题描述】互联网域名系统是一个典型的树形层次结构。

从根节点往下的第一层是顶层域,如cn、com等,最底层(第四层)是叶子结点,如www等。

【设计要求】设计互联网域名信息管理的模拟程序。

(1)采用树的孩子兄弟链表等存储结构。

(2)可以随机、文件及人工输入数据。

(3)实现域名的创建、分类、插入、删除、修改等管理功能。

(4)实现域名的查询和统计功能。

(5)考虑采用优化的查询和排序算法。

(6)其它完善性或扩展性功能。

12、无向图的关节点问题【问题描述】对无向连通图,若删除某个结点使其成为非连通图,则称该结点为关节点。

假设某一地区公路交通网,求解关节点。

【设计要求】设计求解无向连通图关节点的模拟程序。

(1)采用邻接表或邻接矩阵存储结构。

(2)可以随机、文件及人工输入数据。

(3)采用深度优先遍历求解关节点。

(4)实现关节点的查询和统计功能。

(5)实现将关节点改造为非关节的功能。

(6)其它完善性或扩展性功能。

13、手机个人通讯录信息管理系统【问题描述】对手机个人通讯录的创建和查询等信息管理作一个简单的模拟。

【设计要求】设计手机个人通讯录管理的模拟程序。

(1)采用顺序表或结构体链表存储结构。

(2)可以随机、文件及人工输入数据。

(3)实现通讯录的创建、修改、插入、删除、分组等管理功能。

(4)实现通讯录的各种查询和统计功能。

(5)实现人机交互界面功能。

(6)其它完善性或扩展性功能。

14、超市商品库存信息管理系统【问题描述】对一个中小型超市的库存商品信息管理作一个简单的模拟。

【设计要求】设计超市库存商品信息维护管理的模拟程序。

(1)采用顺序表或结构体链表存储结构。

(2)可以随机、文件及人工输入数据。

(3)实现超市商品的创建、分类、出库、入库、修改等管理功能。

(4)实现库存商品的各种查询和统计功能。

(5)实现人机交互界面功能。

(6)其它完善性或扩展性功能。

15、图书馆图书借阅信息管理系统【问题描述】对图书馆的图书借阅业务管理作一个简单的模拟。

【设计要求】设计图书借阅信息管理的模拟程序。

(1)采用顺序表或结构体链表存储结构。

(2)可以随机、文件及人工输入数据。

(3)实现图书的创建、分类、插入、删除、修改、借阅等管理功能。

(4)实现图书的各种借阅查询和统计功能。

(5)实现人机交互界面功能。

(6)其它完善性或扩展性功能。

3-3 研究性学习与创新性设计题目(B类)研究性学习与创新性设计题目的设计重点是在巩固基本数据结构知识的基础上,激发学生的自主性学习热情和创造性思维能力,扩充数据结构课程的知识量。

一方面可以将课堂上及书本上的内容做应用扩展;另一方面可以设计基于STL框架的数据结构应用程序。

本次课程设计共安排15个研究性学习与创新性设计B类可选题目。

1、二进制堆及其应用【问题描述】堆是设计很巧妙的数据结构,堆排序的算法也有很多应用。

但当堆比较庞大时,选取堆顶元素及重新建堆的工作量也较大。

利用堆的定义构建二进制堆,应用于优先队列有很大的优势。

二进制堆是在二进制树B k上建立的数据结构。

一个整数可以表示为二进制数,一组关键字组成的序列可以由一组二进制堆表示。

【设计要求】设计基于STL框架的二进制堆的抽象数据类型及其实现。

(1)实现二进制堆H k的ADT。

(2)应用基本运算,实现二进制堆的简单应用。

2、线段树及其应用【问题描述】在实际应用中,常遇到与区间有关的操作,比如统计若干矩形并集的面积,记录一个区间的最大最小值及总量,并在区间的插入、删除和修改中维护这些数据。

线段树的定义是利用树形二分结构所建立的一种数据结构,能够高效的完成这些操作。

【设计要求】设计基于STL框架的线段树的抽象数据类型及其实现。

(1)实现线段树的ADT。

(2)应用基本运算,实现线段树的简单应用。

3、邮局选址问题【问题描述】n个居民小区规则的坐落在城市中,用x表示东西向,用y表示南北向。

如何选择邮局的最佳位置,才能使n个居民小区到邮局的费用为最省。

【设计要求】采用最短路径算法求解。

(1)采用STL数据结构或设计基于STL框架的数据结构。

(2)应用基本运算,设计算法求解。

4、男女运动员最佳组合【问题描述】设有N个男羽毛球运动员和N个女羽毛球运动员,现组成N对男女混合最佳组合。

相关文档
最新文档