B131000920_数据结构课程设计_课题要求(201612)(计1501-08、物1501-02)
- 格式:doc
- 大小:49.93 KB
- 文档页数:8
一、数据结构课程设计要求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一、课程目标知识目标:1. 让学生掌握数据结构的基本概念,包括线性表、栈、队列、树、图等;2. 使学生了解不同数据结构的特点,并能运用其解决实际问题;3. 引导学生掌握常见数据结构的相关算法,如排序、查找等。
技能目标:1. 培养学生运用数据结构描述问题的能力,提高编程实现复杂问题的技能;2. 培养学生具备分析算法复杂度,选择合适数据结构和算法解决问题的能力;3. 提高学生的团队协作能力,通过小组讨论和项目实践,培养学生的沟通表达能力和协作精神。
情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养学生主动探索、勇于创新的精神;2. 培养学生具备良好的学习习惯,严谨的学术态度,对待问题敢于质疑、善于思考;3. 引导学生认识到数据结构在实际应用中的重要性,提高学生的专业认同感。
本课程针对高中年级学生,结合数据结构课程性质,注重理论与实践相结合,培养学生解决实际问题的能力。
考虑到学生的年龄特点,课程设计力求生动有趣,以激发学生的学习兴趣。
在教学过程中,注重启发式教学,引导学生主动探索、积极思考,提高学生的综合素质。
通过本课程的学习,期望学生能够达到上述课程目标,为后续计算机科学课程打下坚实基础。
二、教学内容1. 线性表:介绍线性表的定义、特点和基本操作,包括顺序存储和链式存储的实现方法。
教材章节:第一章第一节进度安排:2课时2. 栈和队列:讲解栈和队列的基本概念、性质以及应用场景,实现顺序栈和链栈、循环队列等。
教材章节:第一章第二节进度安排:3课时3. 树和二叉树:阐述树和二叉树的基本概念、性质、存储结构及遍历方法,包括二叉排序树、平衡二叉树等。
教材章节:第二章进度安排:5课时4. 图:介绍图的定义、存储结构、遍历算法以及最短路径、最小生成树等算法。
教材章节:第三章进度安排:5课时5. 排序与查找:讲解常见排序算法(冒泡、选择、插入等)和查找算法(顺序、二分、哈希等),分析其算法复杂度。
附表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一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点及应用场景。
2. 学会分析不同数据结构在解决实际问题中的优缺点,能够选择合适的数据结构进行问题求解。
3. 掌握各类数据结构的存储方式、操作方法及其时间复杂度分析。
技能目标:1. 能够运用所学数据结构知识解决实际问题,提高编程能力和逻辑思维能力。
2. 培养良好的数据结构设计能力,能够针对特定问题设计高效的数据存储和处理方法。
3. 学会使用可视化工具,将抽象的数据结构形象化,提高问题分析和解决能力。
情感态度价值观目标:1. 培养学生对数据结构的兴趣,激发学习热情,树立学科自信。
2. 培养学生的团队合作意识,提高沟通能力,学会倾听、尊重他人意见。
3. 培养学生勇于面对困难、敢于挑战的精神,形成积极向上的学习态度。
课程性质:本课程为计算机科学与技术专业核心课程,旨在帮助学生掌握数据结构的基本知识,提高编程能力和解决问题的能力。
学生特点:学生具备一定的编程基础和逻辑思维能力,但对数据结构的概念和应用尚不熟悉。
教学要求:结合实际案例,注重理论与实践相结合,培养学生的动手能力和创新能力。
通过本课程的学习,使学生能够熟练运用数据结构解决实际问题,为后续课程打下坚实基础。
教学过程中,关注学生的个体差异,充分调动学生的积极性,提高教学效果。
二、教学内容1. 线性表:介绍线性表的定义、特点,重点讲解顺序存储和链式存储方式,以及线性表的相关操作,如插入、删除、查找等。
教材章节:第二章 线性表内容安排:2课时2. 栈和队列:讲解栈和队列的基本概念、操作及应用场景,分析其时间复杂度。
教材章节:第三章 栈和队列内容安排:2课时3. 树:介绍树的基本概念、存储方式、遍历方法,以及二叉树、线索二叉树、二叉排序树等特殊树结构。
教材章节:第四章 树内容安排:4课时4. 图:讲解图的定义、存储方式(邻接矩阵和邻接表)、遍历方法(深度优先搜索和广度优先搜索),以及最小生成树、最短路径等算法。
数据结构课程设计一、简介数据结构是计算机科学中的重要基础课程,它研究数据的组织、存储和管理方式,以及数据之间的关系和操作。
数据结构课程设计是该课程的一项重要任务,旨在让学生通过实践掌握数据结构的基本原理和应用技巧。
本文将详细介绍数据结构课程设计的相关内容和要求。
二、设计目标数据结构课程设计的主要目标是培养学生的数据结构设计和实现能力,让他们能够独立完成一个具有一定复杂度的项目。
具体目标包括:1. 理解数据结构的基本概念和原理;2. 掌握常见数据结构的特点、操作和应用;3. 能够选择合适的数据结构解决实际问题;4. 能够设计和实现数据结构的相关算法;5. 能够进行数据结构的性能分析和优化。
三、设计内容数据结构课程设计的内容应该紧密结合数据结构的理论知识和实际应用,具有一定的难度和挑战性。
常见的设计内容包括但不限于以下几个方面:1. 线性表:设计一个线性表的数据结构,并实现相关的操作,如插入、删除、查找等。
可以选择数组、链表或其他结构作为底层实现。
2. 栈和队列:设计一个栈或队列的数据结构,并实现相关的操作,如入栈、出栈、入队、出队等。
可以选择数组、链表或其他结构作为底层实现。
3. 树和二叉树:设计一个树或二叉树的数据结构,并实现相关的操作,如插入、删除、遍历等。
可以选择链表或其他结构作为底层实现。
4. 图:设计一个图的数据结构,并实现相关的操作,如插入节点、添加边、遍历等。
可以选择邻接矩阵或邻接表作为底层实现。
5. 排序和查找:设计一个排序或查找算法,并实现相关的操作,如快速排序、二分查找等。
可以选择合适的数据结构作为辅助。
6. 字符串处理:设计一个字符串处理的算法,并实现相关的操作,如字符串匹配、替换等。
可以选择合适的数据结构作为辅助。
四、设计要求数据结构课程设计的要求应该具体明确,包括以下几个方面:1. 功能要求:设计的数据结构应能够满足实际问题的需求,能够实现基本的操作和功能。
2. 界面要求:设计的数据结构应具有良好的界面设计,用户能够方便地使用和操作。
数据结构课程设计2016数据结构课程设计2016年04⽉⽬录第⼀章课程设计教学⼤纲 (2)第⼆章课程设计任务与要求 (3)第⼀章课程设计教学⼤纲第⼆章课程设计任务与要求⼀、数据结构课程设计要求学⽣必须仔细阅读《数据结构》课程设计⽅案,认真主动完成课程设计的要求。
有问题及时主动通过各种⽅式与教师联系沟通。
学⽣要发挥⾃主学习的能⼒,充分利⽤时间,安排好课程设计的时间计划,并在课程设计过程中不断检测⾃⼰的计划完成情况,及时的向教师汇报。
课程设计按照教学要求时间完成,总时间为1.5周。
⼆、数据结构课程设计的具体内容本次课程设计要求⾃⾏选择⼀种数据类型,选择⼀种存储⽅式,实现不少于15个操作(例如:插⼊、删除、查找等),其中对应的数据类型要实现⾄少⼀种应⽤,例如:如下应⽤,多做可以加分。
请同学们独⽴完成该课程设计,若发现有抄袭嫌疑,抄袭者和被抄袭者⼀律得0分。
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.使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。
2.使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
3.使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
二、本课程涉及的基本理论数据结构中关于“线性表、栈和队列、树和二叉树、图、查找和排序”等基本理论。
三、课程基本要求基本要求:1.巩固和加深对数据结构基本知识的理解,提高综合运用课程知识的能力。
2.培养学生自学参考书籍,查阅手册、图表和文献资料的能力。
3.通过训练,使学生初步掌握简单软件的分析方法和设计方法。
4.了解与课程有关的工程技术规范,能正确解释和分析实验结果。
5.题目具有足够的工作量。
6. 课程中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
7. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
8. 按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析:在该部分中叙述,每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。
源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
课程设计总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;9. 每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:“学号姓名”,如“200413498 高魁”。
《数据结构》课程设计要求一、课程设计的目的及要求1. 课程设计目的课程设计是《数据结构》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。
通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。
2. 课程设计要求1)明确课设任务,复习与查阅有关资料2)按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。
3)每人完成一个项目。
4)应用程序应具有一定的可用性:5)凡等候用户输入时,给出足够的提示信息,如“Please Select(1—3):”提示用户选择。
6)格式明显易懂,配上适当的颜色、声音等辅助效果,能方便地改正输入时的错误,使用户感到方便、好用。
7)有联机求助功能。
用户能直接从系统得到必要的提示,不查手册也能解决一些疑难。
8)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行:9)对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。
10)当可能的回答有多种时,应允许输入任何一种回答。
11)对删除数据应给出警告。
二、课程设计任务、内容及时间安排1. 课程设计任务、内容课程设计的题目可由教师指定,如可在下列选题中选择,或由教师另外选择,也可由学生自行选择。
但选题内容、难度要适当,要有一定的实际意义,并能达到进一步巩固和强化本课程所学知识的效果。
选题1.停车场管理问题。
问题描述:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排以便道上的第一辆车就进入停车场。
停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场。
数据结构课程设计【数据结构课程设计】一、引言数据结构是计算机科学中的重要基础课程,它研究的是数据的组织方式和存储结构,以及对这些结构进行操作和处理的算法。
本课程设计旨在通过实际项目的实践,加深学生对数据结构理论的理解,并培养学生分析和解决实际问题的能力。
二、设计背景在现代社会中,数据处理和管理已经成为各个领域的必备技能。
为了提高学生的数据处理能力和实践能力,本次课程设计将以一个实际的案例为基础,让学生设计和实现一个具有一定规模和复杂度的数据结构应用。
三、设计目标1. 理解数据结构的基本概念和原理;2. 掌握数据结构的常用操作和算法;3. 能够设计和实现一个具有一定规模和复杂度的数据结构应用;4. 培养学生的分析和解决问题的能力。
四、设计内容本次课程设计的主题是设计一个学生成绩管理系统。
该系统能够对学生的各科成绩进行录入、查询、统计和分析,并提供相应的功能操作。
具体的设计内容包括以下几个方面:1. 学生信息管理- 实现学生信息的录入和修改功能;- 支持按学号、姓名等条件进行学生信息的查询功能;- 能够对学生信息进行排序和删除操作。
2. 课程信息管理- 实现课程信息的录入和修改功能;- 支持按课程编号、课程名称等条件进行课程信息的查询功能;- 能够对课程信息进行排序和删除操作。
3. 成绩信息管理- 实现学生成绩的录入和修改功能;- 支持按学号、课程编号等条件进行成绩信息的查询功能;- 能够对成绩信息进行排序和删除操作。
4. 统计和分析功能- 实现对学生各科成绩的统计功能,包括平均分、最高分、最低分等指标;- 支持按照课程进行成绩排名和班级成绩统计;- 能够对学生成绩进行分析,生成相应的报表和图表。
五、设计要求1. 界面友好:系统界面要简洁、美观,操作简单明了;2. 功能完善:系统要实现所述的所有功能,并能够正确处理各种异常情况;3. 数据安全:系统要保证学生信息和成绩信息的安全性,防止数据丢失或泄露;4. 代码规范:系统代码要规范、清晰,注释完备,易于理解和维护;5. 算法优化:对于涉及到大规模数据处理的功能,要考虑算法的效率和优化。
数据结构课程设计格式要求1.课程设计形式结构封面前部分目录课程设计形式结构主要部分附录部分参考文献2.排版与装订2.1 页面大小:全部采用A4纸。
2.2 行距:全部采用1.5倍行距(图表除外)。
2.3 页码:每页下端居中,全部采用阿拉伯数字排序,如1,2,3等。
2.4目录两字用黑体4号字居中,字与字之间空4个字距。
目录中的中文全部用宋体小4号字。
2.5 页眉:全部不加页眉。
2.6 页面设置:页边距上下左右各用2.4cm。
2.7封面:统一封面。
2.8 装订:一律左侧装订。
3.正文3.1一级标题一律用黑体4号字,左顶格,标题与段落之间不留空行。
正文其他部分全部用宋体小4号字,英文采用Times New Roman。
3.2图应有图题,放图下方居中,用阿拉伯数字编号,图题用黑体5号字,居中。
如:图1,图号后不加任何符号,空1个中文字距后写图题。
4.参考文献“参考文献”四字用黑体4号字居中,字与字之间空一个中文字距。
其后内容用宋体5号字。
具体格式可参考教务处发布的本科毕业论文格式要求(2008届开始启用)仲恺农业工程学院课程设计报告课程名称:数据结构院(系):计算机科学与工程学院专业班级:学号:姓名:指导老师:承诺书郑重声明:本人所呈交的课程设计是本人在导师指导下独立撰写并完成的,课程设计没有剽窃、抄袭、造假等违反学术道德、学术规范和侵权行为。
本课程设计不包含任何其他个人或集体已经发表或撰写过的研究成果,如果引用则标识出了出处。
对本课程设计的研究做出贡献的个人和集体,均已在文中以明确方式标明。
课程设计与资料若有不实之处,本人承担一切相关责任。
特此声明。
签名:年月日目录1.线性表 (1)2.栈和队列 (2)3.树和二叉树 (3)4.图 (6)5.查找和排序 (7)6.排序 (8)课程设计总结 (9)参考文献 (10)1.线性表一、数据结构说明二、树的存储结构设计三、算法设计(程序流程图)四、详细设计(关键代码)五、调试分析2.栈和队列一、数据结构说明二、树的存储结构设计三、算法设计(程序流程图)四、详细设计(关键代码)五、调试分析3.树和二叉树1题 树的中序遍历非递归算法(利用栈) 一、数据结构说明1、在现实的生活中,描述一个单位的组织结构以及一个家族的族谱都可用树形结构来形象地表示出,在计算机的领域中,数据库系统中信息的组织形式也可用它来描述,因此它是一种应用非常广泛的非线性结构,其中以二叉树最为常用。
《数据结构课程设计》实施方案(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)统计各代表队的男女总分和团体总分。
《数据结构课程设计》实施方案(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对男女混合最佳组合。