目录
一、二叉树的存储结构
1.顺序存储结构
#define MAXSIZE 100 //二叉树的最大结点数
typedef TElemType SqBiTree[MAXSIZE]; //0号单元存储根结点
SqBiTree bt;
2.链式存储结构
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
二、二叉树的遍历
1.先(根)序遍历(波兰式)
(DLR)口诀:先根再左再右
2.中(根)序遍历
(LDR)口诀:先左再根再右
3.后(根)序遍历(逆波兰式)
(LRD)口诀:先左再右再根
例子1:
例子2(二叉树算术表达式):
先序遍历又为前缀表示,中序遍历又为中缀表示。
二叉树算术表达式的特点:操作数值都在叶子上,运算符都在分支结点上。
多练练可以发现规律。这个在表达式求值很有用。