数据结构c++编程题,请求高手解疑!只要算法!

说明:全部为算法设计题。每道题从四个方面解答。

(1)【逻辑结构与存储结构设计】(线性或非线性、顺序或链式)

(2)【基本操作设计】(按照“类”的概念,写成员函数的说明)要求对算法中调用的所有基本操作(函数)的名称、输入输出参数、返回结果叙述清楚。

(3)【算法设计】(文字说明,再加一个图示)

(4)C++语言代码】(写出类或者算法函数。注意算法中不需要的成员函数不要出现,另外不必写测试用的主函数)

1、利用栈实现二叉树非递归前序遍历、中序遍历以及后续遍历,并打印遍历结果.

2、利用队列作工具,设计一个非递归算法,实现按层次顺序遍历二叉树。

3、对于邻接矩阵存储的带权图,请写出一个能够累加图的总权值的算法。

4、将一个正整数转换成十六进制,要求用栈的基本操作来实现。

5、以栈为辅助工具,设计一个求N!的非递归算法。

6、以数组为哈夫曼树的存储结构,设计一个能生成哈夫曼树,并且能输出哈夫曼编码的算法。

7、设计一个算法,求不带权无向连通图G中距离顶点V的最远的一个点。

8、利用单链表存储多项式,实现两个多项式相加。

9、利用顺序存储实现一个双向栈。即两个栈公用一个顺序表,栈顶相向,栈底分别为顺序表的两端。设计初始化、入栈、出栈、判断栈空和栈满的操作。

10、设计一个算法,判断一棵二叉数是否对称,所谓对称是指根结点左右两侧结构相同。

11、试写一个判别表达式中左括号和右括号是否配对出现的算法

12、建立一个二叉数并输出该二叉数的前序遍历、中序遍历、后序遍历、深度、结点个数及叶子结点个数。

13、基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i=j)。

14、设计算法,在产生n个随机整数后,利用“快速排序法”完成排序并且打印输出。

15、设ST是以单链表存储的两个串(每个结点只存放一个字符),编写找出S中第一个不在T中出现的字符的算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值