数据结构程序设计题目共29题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
题目1:设计一元多项式简单计算.................................. 错误!未定义书签。题目2:链表应用1 ....................................................... 错误!未定义书签。题目3:链表应用2 .......................... 错误!未定义书签。题目4:?通讯录 ............................ 错误!未定义书签。题目5:停车场管理系统....................... 错误!未定义书签。题目6:约瑟夫环............................ 错误!未定义书签。题目7:运动会分数统计....................... 错误!未定义书签。题目8:文学研究助手问题..................... 错误!未定义书签。题目9:银行业务模拟与离散事件模拟 ............ 错误!未定义书签。题目10:学生信息管理系统任务(用顺序表/链表).. 错误!未定义书签。题目11:文章编辑功能 ....................... 错误!未定义书签。题目12:实验室管理......................... 错误!未定义书签。题目13:二叉树的基本操作(建立、求二叉树树深度、遍历).错误!未定义
书签。
题目14:纸牌游戏任务 ....................... 错误!未定义书签。题目15:算术表达式求值...................... 错误!未定义书签。题目16:内部排序算法比较.................... 错误!未定义书签。题目17:哈夫曼树的构造和哈夫曼编码/译码 ....... 错误!未定义书签。题目18:构造可以使n个城市连接的最小生成树..... 错误!未定义书签。题目19:交通咨询系统中的最短路径............. 错误!未定义书签。题目20:集合的交、并、差运算................. 错误!未定义书签。题目21:长整数四则运算...................... 错误!未定义书签。题目22:机订票系统......................... 错误!未定义书签。题目23:图书管理系统 ....................... 错误!未定义书签。题目24:哈希表应用......................... 错误!未定义书签。题目25:模拟旅馆管理系统的一个功能——床位的分配与回收.错误!未定义
书签。
题目26:地图着色问题 ....................... 错误!未定义书签。题目27:俄罗斯套娃问题...................... 错误!未定义书签。题目28:扫雷.............................. 错误!未定义书签。题目29:用C语言设计一个日历系统............. 错误!未定义书签。
题目1:设计一元多项式计算
【任务要求】
(1)能够按照指数降序排列建立并输出多项式;
(2)能够完成两个多项式的相加、相减,并将结果输入;
实现提示:可选择带头结点的单向循环链表?或单链表存储多项式,头结点可存放多项式的参数,如项数等。
要求:在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;【测试数据】
自行选择
?
题目2:链表应用1
【任务要求】
实现两个链表的合并
基本功能要求:
(1)建立两个链表A和B,链表元素个数分别为m和n个。
(2)假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线形表C,使得:
当m>=n时,C=x1,y1,x2,y2,...xn,yn, (x)
当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn
输出线性表C
(3)用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。
【测试数据】
1) A表(30,41,15,12,56,80)
B表(23,56,78,23,12,33,79,90,55)
2) A表(30,41,15,12,56,80,23,12,34)
B表(23,56,78,23,12)
题目3:链表应用2
【问题描述】
已知非空线性链表第一个链结点的指针为list,写出下列各项操作的算法程序。
(1)逆转该线性链表;
(2)删除线性链表中从左往右第一个数据为data的链结点;
(3)删除从第I个链结点开始的连续k个结点。
【任务要求】
设计一组输入数据并编写完整的程序。调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果。
【提示】
1)逆转一个链表是指在不增加新结点的前提下,依次改变链表中结点的连接方向。
2)删除数据结点时,首先判断链表是否为空,若非空,先判断第一个结点是否满足条件,若是则删除;否则从第二个结点开始顺序查找,直到找到为止,然后删除;对任何不满足条件的情况都报告相应提示信息。
3)从第I个结点开始连续删除k个结点时,考虑以下两种情况:当I=1时,从第一个开始删除即可;当I>1时,先找到前一个结点然后再连续删除K个结点。最后释放各个结点空间。【测试数据】
自行设定
题目4:?通讯录
【问题描述】
该设计采用菜单作为应用程序的主要界面,用控制语句来改变程序执行的顺序,控制语句是实现结构化程序设计的基础。该设计的任务是利用一个简单实用的菜单,通过菜单单项进行选择,实现和完成通讯录管理中常用的几个不同的功能。通讯者所包含信息请自行设定
【任务要求】
菜单内容:
(0)通讯录链表的建立
(1)通讯者结点的插入
(2)通讯者结点的查询
(3)通讯者结点的删除
(4)通讯录链表的输出
(5)退出管理系统
设计要求:
使用0~5来选择菜单项,其他输入则不起作用。
功能函数设计
5个不同功能的算法实现编程题,目的是练习利用链表结构来解决实际应用问题的能力,进一步理解和熟悉线形表的链式存储结构。