实验内容:
1、 按先序次序输入二叉树中结点的值(一个字符),利用某个特殊字符(例如`@`)表示空树,生成二叉树的二叉链表存储结构。
2、 按先、中、后序递归遍历二叉树,之后结合栈的应用,将中序遍历算法改为非递归算法。
3、利用二叉树的递归算法求二叉树的高度 。
4、利用二叉树的递归算法求二叉树的叶子个数。
5、利用队列实现二叉树的层次遍历。
*6、设有字符集{A,B,C,D},各字符在电文中出现的次数集为{1,3,4,7},编程实现哈夫曼树的构造,并在此基础上编程实现哈夫曼编码。
7、编写一个主函数,调试上述算法。
代码:
#include <iostream>
#include <cstdio>
#include <time.h>
#include <cstdlib>
#include <stack>
#include <queue></

本文通过C++实现二叉树的基本操作,包括根据先序输入创建二叉树、先中后序递归遍历、非递归中序遍历、计算树高、查找叶子节点数以及层次遍历。同时,给出了哈夫曼树的构造及编码实现。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



