1. 定义并实现二叉树的数据结构(注:其中创建二叉树要求使用广义表或前序遍历方法创建、还要求一个是前序+中序的方法创建)。测试二叉树使用如下的树: A B C D E F 2. 实现哈夫曼树数据结构,使用哈夫曼树完成如下文档的编码与译码,假设该文档由5种符号字符(A、B、C、D、E)构成 ABACDEABBCEABAACCCDEACCBAABCCCA 3. 选做:实现二叉树的中序遍历线索化数据结构 4. 选做:使用子女---兄弟表示法实现树的数据结构 注:数据结构包括:数据对象、数据关系及数据
数据结构与算法中二叉树子结构的详解
需求
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
树的描述:
class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
解决思路
使用了栈将元素入栈,并不断的弹出元素,弹出一个元素的时候,拼接成