07数据结构课程设计指导书

发布 2022-10-06 04:31:28 阅读 5116

可以订票,如果该航班已经无票,可以提供相关可选择航班;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

6) 修改航班信息:当航班信息改变可以修改航班数据文件。

要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

4. 跳马问题,就是64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。(8)

人数:1人。

要求:实用

5. 运动会(7)

题目描述:参加运动会的n个学校编号为1—n。比赛分为m个男子项目和w个女子项目,项目编号分别为1—m和m+1—m+w。

由于各项目的参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。

基本要求:产生各校的成绩单,内容包括各学校所取得每项成绩的项目号,名次(成绩),姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分。

测试数据:对于n=4,m=3,w=2,编号为奇数的项目取前5名,编号为偶数的项目取前3名,设计一组实例数据。

提示:可以假设n小于等于20,m小于等于30,w小于等于20,姓名长度不超过20个字符。每个项目结束时,将其编号,类型符(区分取前5名还是3名)输入,并按名次顺序输入运动员姓名,校号(和成绩)。

人数:2人。

要求:实用。

6.建通讯录(7)

要求:第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

第二个模块——menu()的功能是:显示英文提示选单。

第三个模块——quit()的功能是:退出选单。

第四个模块——create()的功能是:创建新的通讯录。

第五个模块——add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。

第六个模块——find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。

第七个模块——alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。

第八个模块——delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。

第九个模块——list()的功能是:显示通讯录中的所有记录。

人数:2人。

要求:实用。

7. 用扑克牌实现24点游戏。(8)

人数:1人。

要求:实用。

8. 哈夫曼编码/译码器1(8)

问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。

基本要求】1)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

2)编码:利用建好的哈夫曼树生成哈夫曼编码;

3)输出编码;

4)译码功能;

5)设字符集及频度如下表:

字符空格 a b c d e f g h i j k l m

频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20

字符 n o p q r s t u v w x y z

频度 57 63 15 1 48 51 80 23 8 18 1 16 1

选做内容】1) 显示哈夫曼树;

2) 界面设计的优化。

3) 哈夫曼编码/译码均用二进制处理。(10)

9. 一元稀疏多项式计算器(8)

问题描述】设计一个一元多项式加法器。

基本要求】1)输入并建立多项式;

2)两个多项式相加;

3)输出多项式:n, c1, e1, c2, e2, …cn , en, 其中,n是多项式项数,ci和ei分别是第 i 项的系数和指数,序列按指数降序排列。

4)计算多项式在x处的值;

5)求多项式的导函数。

人数:2人。

要求:实用。

10. 停车场管理1(8)

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在它之后近来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一程序模拟停车场管理。

实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。

例如:('a',1,5)表示一号牌照车爱5这个时刻到达,而('d',5,20)表示5号牌照车在20这个时刻离去,整个程序可以在输入信息为('e',0,0)时结束。

基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

人数:1人。

要求:实用。

11.停车场管理2(9)

1) 有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层。 (停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信息包括车牌号, 层号, 车位号, 停车时间共4项。 其中停车时间按分钟计算。

2) 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为1—4 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”中( 数组的对应元素也要进行赋值 )

3) 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位的使用情况, 如果第一层有空则必须停在第一层), 停车时间设为5 , 最后将新停入的汽车的信息添加文件”中, 并将在此之前的所有车的停车时间加5.

4) 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元。

(停车费用可设置一个变量进行保存), 同时从文件”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总计。

5) 输出停车场中全部车辆的信息。

6) 退出系统。

人数:2人。

要求:实用。

12. 火车订票系统 (8)

要求:有订票子系统、售票子系统、退票子系统、统计子系统、查询子系统、生成数据子系统。

人数:3人。

要求:实用

13.五子棋(9)

要求:人机对战。

人数:2人。

要求:实用。

14. 迷宫问题(7.5)

问题描述:迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。

盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次试验终于得到它学习走迷宫的路线。

设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。

要求:在给出入口和出口的前提下,给出动态的迷宫行走路线。

人数:1人。

选做内容】给出所有可行路线。(8)

15. 八皇后问题 (7)

要求:试编写程序实现将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解。

提示:在国际象棋上放置皇后时,任何一个皇后的水平、竖直和斜45都不能有另一个皇后。解决该问题采用逐次试探的方法,即采用递归调用putchess函数的方法。

首先将第一个皇后放于第一行第一列,然后开始向下一行递归。每一步递归中,首先检测待放置位置是否与已放置的皇后冲突,如不冲突,则进行下一行的放置,否则,选择该行的下一个位置进行检测。如整行的位置都冲突,则回到上一行,重新选择位置。

人数:1人

16. 无向图应用问题(7)

任务:如果以无向网表示n个城市之间通信网络的建设计划,顶点表示城市,边上的权表示该线路的造价,设计一个方案,使这个通讯网的总造价最低。

提示:这是一个求最小生成树的问题。n个城市名和各边的权值由用户输入,建立图的邻接矩阵,然后以prim算法来求最小生成树,然后输出方案。

人数:1人。

17. 中国象棋(10)

要求:人机对战。

人数:3人(人人对战为2人)

要求:实用。

18. 二叉排序树。用二叉链表作存储结构。(8)

要求: 1)以回车('')为输入结束标志,输入数列l,生成一棵二叉排序树t;

2)对二叉排序树t作中序遍历,输出结果;

3)计算二叉排序树t查找成功的平均查找长度,输出结果;

4)输入元素x,查找二叉排序树t,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”。

人数:2人。

要求:实用。

19. 二叉排序树。用顺序表(一维数组)作存储结构 (8)

1)以回车('')为输入结束标志,输入数列l,生成一棵二叉排序树t;

2)对二叉排序树t作中序遍历,输出结果;

3)计算二叉排序树t查找成功的平均查找长度,输出结果;

4)输入元素x,查找二叉排序树t:若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;

人数:2人。

要求:实用。

20. 图的基本操作与实现 (8.5)

1)自选存储结构,输入含n个顶点(用字符表示顶点)和e 条边的图g;

2)求每个顶点的度,输出结果;

3)指定任意顶点x为初始顶点,对图g作dfs遍历,输出dfs顶点序列(提示:使用一个栈实现dfs);

4)指定任意顶点x为初始顶点,对图g作bfs遍历,输出bfs顶点序列(提示:使用一个队列实现bfs);

5)输入顶点x,查找图g:若存在含x的顶点,则删除该结点及与之相关连的边,并作dfs遍历(执行操作3);否则输出信息“无x”;

6)判断图g是否是连通图,输出信息“yes”/“no”;

7)如果选用的存储结构是邻接矩阵,则用邻接矩阵的信息生成图g的邻接表,即复制图g,然再执行操作(2);反之亦然。

人数:3人。

要求:实用。

21.井字过三关(7.5)

问题描述】设计一个井字棋的游戏程序,棋盘结构如下图:

基本要求】游戏规则是:从一个空的棋盘开始,人为x一方,计算机为o一方,人机双方轮流放置棋子,人下的时候,字符x将被放入棋盘中指定的位置,轮到计算机下时,程序将扫描棋盘,并将字符o放入扫描到的第一个空格,某一方有3枚棋子占据了一横行、一竖行或一对角线则获胜,若整个棋盘被占满还没有一方获胜则为和局。

选做内容】1)机器扫描策略的优化;(8.5)

2)界面设计的优化。

人数:2人。

要求:实用。

22. 银行财务实时处理系统(二叉排序树的应用) (8)

要求:银行帐户的帐号由科目表和分户号组成。此系统要求把属于一个科目的分户表文件的记录全部找出来,并按记录中的分户号从小到大的顺序排列,以便与按顺序逐户处理信息并查找某一个分户号的记录。

科目表文件每个记录包括科目表及科目表分户二叉结点的指针。分户表文件每个记录的形式为记录号、分户号、左链和右链。

根据题意,本系统应能实现以下三个功能。

1)构造分户二叉树排序树;

2)中序遍历分户二叉树排序树;

3)查找某一分户记录.

数据结构课程设计指导书

数据结构。课。程。设。计。指。导。书。目录。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调...

数据结构课程设计指导书

数据结构。课。程。设。计。指。导。书。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调试能力...

数据结构课程设计指导书

指导书。信息工程学院计算机科学与技术专业。2013年12月。数据结构课程设计 指导书。一 课程设计题目与要求。根据课程设计题目规模,要求每个题目3人一组。分组规则如下 按照学号顺序每3人编为一组 或者自由组合 一经确定不得随意调换,题目由各组选派代表抽签确定,设计题目不得更换。选题一 教学计划编制问...