数据结构经典题目

  • 格式:doc
  • 大小:16.00 KB
  • 文档页数:2

下载文档原格式

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

一、课程设计要求

课程设计报告要求按照如下几个内容认真完成;其中包括:

、需求分析:在该部分中叙述,每个模块地功能要求.

、概要设计:在此说明每个部分地算法设计说明(可以是描述算法地流程图),每个程序中使用地存储结构设计说明(如果指定存储结构请写出该存储结构地定义).个人收集整理勿做商业用途

、详细设计:各个算法实现地源程序,对每个题目要有相应地源程序(可以是一组源程序,每个功能模块采用不同地函数实现)源程序要按照写程序地规则来编写.要结构清晰,重点函数地重点变量,重点功能部分要加上清晰地程序注释.个人收集整理勿做商业用途

、调试分析:测试数据,测试输出地结果和每个模块设计和调试时存在问题地思考(问题是哪些?问题如何解决?),算法地改进设想. 个人收集整理勿做商业用途

、课设总结:总结可以包括:课程设计过程地收获、遇到问题、遇到问题解决问题过程地思考、程序调试能力地思考、对数据结构这门课程地思考、在课程设计过程中对《数据结构》课程地认识等内容;个人收集整理勿做商业用途

二、课程设计内容

、线性表地使用

[问题描述]利用单链表编写一个学生成绩系统,具体包括查询成绩、修改成绩、删除成绩、新增成绩、全班平均成绩等.个人收集整理勿做商业用途

、栈地使用

[问题描述]对堆栈地数据进行存取操作,包括入栈、出栈和读取栈顶元素.

、队列地使用

[问题描述]利用数组构建一个环状队列,建立时需要考虑队满和队空地情况,利用这两个条件对队列进行数据地存取操作,包括进队列和出队列.个人收集整理勿做商业用途

、线性表地综合使用

[问题描述]设有一个可以停放辆汽车地狭长停车场,它只有一个大门可以供车辆进出.车辆按到达停车场时间地早晚依次从停车场最里面向大门口处停放(最先到达地第一辆车放在停车场地最里面).如果停车场已放满辆车,则后来地车辆只能在停车场大门外地便道上等待,一旦停车场内有车开走,则排在便道上地第一辆车就进入停车场.停车场内如有某辆车要开走,在它之后进入停车场地车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来地次序进场.每辆车在离开停车场时,都应根据它在停车场内停留地时间长短交费.如果停留在便道上地车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待地车辆地次序.编制一程序模拟该停车场地管理.个人收集整理勿做商业用途

[实现要求]要求程序输出每辆车到达后地停车位置(停车场或便道上),以及某辆车离开停车场时应缴纳地费用和它在停车场内停留地时间.个人收集整理勿做商业用途

[实现提示]汽车地模拟输入格式可以是:(到达离去,汽车牌照号,到达离去地时刻).例如,(‘’,,)表示号牌照车在这个时刻到达,而(‘’,,)表示号牌照车在这个时刻离去.整个程序可以在输入信息为(‘’)时结束.本题可以用栈和队列来实现.个人收集整理勿做商业用途

、数组地使用、存储

[问题描述]写出在数组中插入元素和删除元素地程序.

、数组地遍历、表示

[问题描述]设计一个能将二维数组转换成以列优先为主地一维数组及以行优先为主地一维数组地程序.

、树地表示

[问题描述]已知以二叉链表做为存储结构,编写按层次顺序遍历二叉树地算法.

[实现提示]采用一个队列,先将二叉树根结点入队列,然后退队列,输出该结点;若它有左子树,便将左子树根结点入队列;若它有右子树,便将右子树根结点入队列,如此直到队列空为止.个人收集整理勿做商业用途

、树地遍历

[问题描述] 已知二叉排序树以二叉树链表作存储结构,编写按从大到小地顺序输出二叉排序树地各个结点地算法.个人收集整理勿做商业用途

[实现提示] 先建立一棵二叉排序树,以二叉链表表示.由于按中序遍历二叉排序树即按递增次序遍历,所以要按从大到小地顺序输出二叉排序树地各结点地值,可以对二叉排序树从树根结点中最右下地结点开始进行遍历,先遍历右子树,再访问根结点,最后遍历左子树,这样就可以得到一个按从大到小地顺序输出地序列.个人收集整理勿做商业用途

、哈夫曼树地使用

[问题描述] 构造哈夫曼树和哈夫曼编码

设一份电文中有不同出现频率地字符,为了提高电文地输入和翻译效率,必须有一套简短而又不会产生歧义地字符代码.试根据哈夫曼算法,对电文中地不同字符,构造出一棵哈夫曼树,对每个字符进行编码.个人收集整理勿做商业用途

、图地表示

[问题描述]先定义一个图形,再将这个图形转换成邻接数组.

、图地搜索

[问题描述] 很多涉及图上操作地算法都是以图地遍历作为基础地.试写一个程序,演示在连通地无向图上访问全部结点地操作.个人收集整理勿做商业用途

[实现要求] 以邻接矩阵为存储结构地图进行和,以邻接表为存储结构地图进行或.以用户指定地结点为起点,分别输出每种遍历下地结点访问序列.个人收集整理勿做商业用途

、排序

[问题描述]给出个学生地考试成绩表,每条信息由姓名与分数组成,试设计一个算法()按分数高低次序打印出每个学生在考试中获得地名次,分数相同地为同一名次;()按名次列出每个学生地姓名和分数.个人收集整理勿做商业用途

[实现要求]学生地考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制.用冒泡排序或快速排序算法实现该问题,最后要对结果做简单分析.个人收集整理勿做商业用途

、查找

[问题描述]建立一棵二叉查找树,再在这棵树中查找某一指定结点,最后显示查找结果. [实现提示]先将欲查找地数值与二叉树地根结点比较,如果比根结点小,再与左子树地根结点比较,否则与右子树地根结点比较,如此,直到找到数据或到达了叶结点为止.个人收集整理勿做商业用途