一、基本知识
-
二叉树基本术语
-
抽象数据类型
ADT BinTree is
operations
BinTree createEmptyBinTree(void) ; // 创建一棵空的二叉树。
BinTree consBinTree(BinTreeNode root, BinTree left, BinTree right)
// 返回一棵二叉树,其根结点是root,左右二叉树分别为left和right。
int isNull ( BinTree t ) ;
// 判断二叉树t是否为空。
BinTreeNode root ( BinTree t );
// 返回二叉树t的根结点。若为空二叉树,则返回一特殊值。
BinTreeNode parent (BinTree t , BinTreeNode p );
// 返回结点p的父结点。当指定的结点为根时,返回一个特殊值。
BinTree leftChild ( BinTree t , BinTreeNode p );
// 返回p结点的左子树,当指定结点没有左子树时,返回一个特殊值。
BinTree rightChild ( BinTree t , BinTreeNode p);
// 返回p结点的右子树,当指定结点没有右子树时,返回一个特殊值。
end ADT BinTree
-
满二叉树和完全二叉树
-
扩充二叉树和外部结点
二、主要性质
三、周游
-
深度优先
-
先根次序
-
-
-
对称序
-
-
-
后根序
-
-
广度优先
四、二叉树的实现
-
顺序表示
-
链接表示
-
树的实现
-
哈夫曼树
-
平衡二叉树
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。