数据结构实验题目与要求.ppt
《数据结构实验题目与要求.ppt》由会员分享,可在线阅读,更多相关《数据结构实验题目与要求.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法实验数据结构与算法实验计算机软件所计算机软件所2015.092015.09数据结构与算法实验数据结构与算法实验实验一实验一 背包问题的求解背包问题的求解实验二实验二 农夫过河问题的求解农夫过河问题的求解实验三实验三 简易电子表格的设计简易电子表格的设计实验四实验四 八皇后问题八皇后问题实验五实验五 约瑟夫环问题仿真约瑟夫环问题仿真实验六实验六 教学计划编制问题(教学计划编制问题(*)实验七实验七 二叉排序树与平衡二叉树的实现(二叉排序树与平衡二叉树的实现(*)实验八实验八 停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现实验九实验九 学生成绩分析学生成绩分析实验十实验
2、十 一元稀疏多项式计算器一元稀疏多项式计算器实验十一、哈夫曼压缩实验十一、哈夫曼压缩/解压缩算法(编译码器)(解压缩算法(编译码器)(*)实验十二、全国交通咨询模拟系统(实验十二、全国交通咨询模拟系统(*)实验十三、迷宫问题实验十三、迷宫问题(*)2西安交通大学计算机系数据结构与算法实验数据结构与算法实验注注:从从上上述述题题目目中中任任选选3 3题题目目,打打星星号号至至少选少选1 1题,共题,共3 3个实验!个实验!3西安交通大学计算机系成绩评定成绩评定题目完成情况的验收题目完成情况的验收基本题目基本题目验收时间:上机时间完成当场验收验收时间:上机时间完成当场验收验收方式:本人简要介绍完成
3、的情况,并检查程序运行结果验收方式:本人简要介绍完成的情况,并检查程序运行结果成绩评定:按照预先给定的各题分值进行成绩评定成绩评定:按照预先给定的各题分值进行成绩评定选做题目选做题目验收时间:上机时间完成当场验收,并给所指定的分数验收时间:上机时间完成当场验收,并给所指定的分数验收方式:填写成绩评定考核表,本人简要介绍完成的情况,检查程序运验收方式:填写成绩评定考核表,本人简要介绍完成的情况,检查程序运行结果,提交专题实验报告行结果,提交专题实验报告成绩评定:实验题目完成情况和报告完成情况,最后核定成绩成绩评定:实验题目完成情况和报告完成情况,最后核定成绩结果正确程序没有结果正确程序没有BUG
4、BUG并有独到之处成绩为所给题目分数的并有独到之处成绩为所给题目分数的9090100100结果正确程序没有结果正确程序没有BUGBUG成绩为所给题目分数的成绩为所给题目分数的75-9075-90结果不完全正确成绩为所给题目分数的结果不完全正确成绩为所给题目分数的60-75%60-75%结果不正确成绩为所给题目分数的结果不正确成绩为所给题目分数的60%0)个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始时任意给出一个报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新自1报数;如此下去直到所有人全部出
5、列为止。2.2.基本要求基本要求 设计一个程序模拟此过程,给出出列人的编号序列。3、实现提示:可考虑不带头结点的单链表结构。4、测试数据:N=7,七个人的密码依次为3,1,7,2,4,8,4.初始报数上限值m=20。9西安交通大学计算机系实验六实验六 教学计划编制问题教学计划编制问题1.1.问题描述问题描述 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年 限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业 开设的课程都是固定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门 课恰好占一个学期。试在这样的前提
6、下设计一个教学计划编制程序。2.2.基本要求基本要求 (1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的 学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。(3)若根据给定的条件问题无解,则报告适当的信息;否则,将教学 计划输出到用户指定的文件中。计划的表格格式自行设计。3 3、实现提示:、实现提示:可设学期总数不超过12,课程总数小于100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。10西安交通大学计算机系实验六实验六 教学计划编制问题教
7、学计划编制问题(续续)3.3.测试数据测试数据 学期总数:6;学分上限:10;该专业共开设12门课,课程号从C01 到C12,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3。先修关系见 下图。45271381210911611西安交通大学计算机系实验七实验七 二叉排序树与平衡二叉树的实现二叉排序树与平衡二叉树的实现1.1.问题描述问题描述 分别采用二叉链表和顺序表作存储结构,实现对二叉排序树与平衡 二叉树的操作。2.2.基本要求基本要求 (1)用二叉链表作存储结构实现二叉排序树。1)以回车符(n)为输入结束标志,输入数列L,生成一棵二叉排序 树T;2)对二叉排序树T作中序遍历,输出结
8、果;3)计算二叉排序树T查找成功的平均查找长度,输出结果;4)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结 点,并作中序遍历(执行操作2);否则,输出信息“无x”;12西安交通大学计算机系实验七实验七 二叉排序树与平衡二叉树的实现二叉排序树与平衡二叉树的实现(续续)(2)用顺序表(一维数组)作存储结构-静态链表 1)以回车符(n)为输入结束标志,输入数列L,生成一棵二叉排序 树T;2)对二叉排序树T作中序遍历,输出结果;3)计算二叉排序树T查找成功的平均查找长度,输出结果;4)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结 点,并作中序遍历(执行操作2);否则,输出信
9、息“无x”;(3)用二叉链表作存储结构实平衡的二叉排序树。1)用数列L,生成平衡的二叉排序树BT:当插入新元素之后,发现 当前的二叉排序树BT不是平衡的二叉排序树,则立即将它转换成新的平 衡的二叉排序树BT;2)计算平衡的二叉排序树BT的平均查找长度,输出结果。13西安交通大学计算机系实验八实验八 停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现1.1.问题描述问题描述 设停车场只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进 出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道 上的
10、第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该车辆开出大门,为它让路 的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走,试设计这样一 个停车场模拟管理程序。2.2.数据结构设计数据结构设计 (1)为了便于区分每辆汽车并了解每辆汽车当前所处的位置,需要记录汽车的 牌照号码和汽车的当前状态,所以为汽车定义一个新的类型CAR,具体定义如下:typedef struct char*license_plate;/汽车牌照号码,定义为一个字符指针类型 char state;/汽车的当前状态,字符s表示停放在停车位上,/字符p表示停
11、放在便道上,每辆车的初始状态用 /字符I表示。CAR14西安交通大学计算机系实验八实验八实验八实验八 停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现(续续续续)(2)由于车位是一个狭长的通道,所以不允许两辆车同时进入停车位,当有车到来要 进入停车位的时候车要顺次停放,当某辆车要离开时,比它后到的车要先暂时离开 停车位,而且越后到的车就越先离开停车位,显然这和栈的“后进先出”特点相吻合,所以可以使用一个栈来描述停车位。由于停车位只能停放有限的几辆车,而且为了便于停车场的管理,要为每个车 位分配一个固定的编号,不妨设为1、2
12、、3、4、5(可利用数组的下标),分别表示停 车位的1车位、2车位、3车位、4车位、5车位,针对这种情况使用一个顺序栈比较方 便,具体定义如下:#define MAX_STOP 5 typedef stuct CAR STOPMAX_STOP;/各汽车信息的存储空间 into top;/用来指示栈顶位置的静态指针 STOPPING;(3)当停车场的停车位上都已经停满了汽车,又有新的汽车到来时要把它调度到便道 上,便道上的车辆要按照进入便道的先后顺序顺次存放在便道上,为便道上的每个 位置也分配一个固定的编号,当有车从停车位上离开后,便道上的第一辆汽车就立 即进入停车位上的某个车位,由于问题描述中
13、限制了便道上的汽车只能从便道上开15西安交通大学计算机系实验八实验八实验八实验八 停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现(续续续续)走,既便道上的汽车只能在停车位上停放过之后才能离开停车位,这样越早进入便道的汽车就越早进入停车位,而且每次进入停车位的汽车都是处于便道“最前面”的汽车,显然,这和队列的“先进先出”特点相吻合。所以,这里使用一个顺序队列来描述便道,可以利用数组的下标表示便道的位置,具体定义如下:#define MAX_PAVE 100 /便道不限制停放车辆的数目,设为足够大 typedef struc
14、t CAR PAVEMAX_PAVE;/各汽车信息的存放空间 int front,rear;/用来指示队头和队尾位置的静态指针 PAVEMENT;(4)当某辆车要离开停车场的时候,比它后进停车位的车要为它让路,而且当它开走之后,让路的车还要按照原来的停放次序再次进入停车位的某个车位上,为了完成这项功能,再定义一个辅助栈,停车位中让路的车依次“压入”辅助栈,待提出请求的车开走后再从辅助栈的栈顶依次“弹出”到停车位中,对辅助栈也采用顺序栈,具体定义与停车位栈类似,如下:typedef struct CAR BUFFERMAX_STOP;/各汽车信息的存储空间 int top;/用来指示栈顶位置的静
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 题目 要求
限制150内