二叉树的存储结构以及遍历
一、二叉树的存储结构 ————顺序存储(一维数组)——— 1 #define MaxSize 100 //假设二叉树最大编号为99 2 typedef char DataType; //定义二叉树节点的数据类型,假设为char型 3 typedef struct{ 4 DataType data[MaxSize]; 5 int biTreeNum; //二叉树的节点个数 6 }SeqBiTree; ——————二叉链表———————— 1 typedef char DataType; 2 typedef struct BiNode{ 3 DataType data; 4 struct BiNode * lchild,* rchild; 5 }BiNode; 二、二叉树的遍历 遍历过程 转载自https://mp.weixin.qq.com/s/HXce4H21Gbu_O9ciXzJQYw ————深度优先遍历———— 1.前序遍历 2.中序遍历 3.后序遍历 ————广度优先遍历———— 4.层序遍历 总结:a.我们提到的四种遍历方式,其实都是在把树种的结点编程某种意义上的线性序列,这样给程序执行带来了好处。 b.前序、中序、后序遍历最根本的区别就是双亲结点的访问时机——前序是先访问双亲结点,然后左孩子,最后右孩子;中序是左孩子,双亲,右孩子;后序是左孩子、右孩子最后双亲结点。 c