实验要求: (1)采用链式存储结构建立二叉树,并按先序输入二叉树的结点序列。建立时按先序输入的结点序列为:a b c # # # d e # f # # g # # (2)二叉树的建立采用递归方式实现,先序遍历、中序遍历、后序遍历均采用非递归方式实现。 (3)在主函数中分别调用以上四个算法函数(建立二叉树,先序、中序、后序遍历二叉树)。
#include #include #include using namespace std; const int LH=1; //左子树比右子树高1 const int EH=0; //左右子树一样高 const int RH=-1;//右子树比左子树高1 const int MAX_NODE_NUM=20; //结点数目上限 class AvlNode { int data; int bf; //平衡因子 AvlNode *lchild; AvlNode *rchild; friend