二叉树特点
每个结点最多只有两棵子树(不存在度大于2的结点)
左子树和右子树次序不能颠倒(有序树)。
节点分左右子树
二叉树性质
1、 在二叉树的第i层上至多有2(i-1)个结点(i>0)
2、 深度为k的二叉树至多有2k-1个结点(k>0)
3、对于任何一棵二叉树,若2度的结点数有n2个,则叶子数(n0)必定为n2+1
满二叉树
一棵深度为k,且有2^k-1个节点的二叉树。这种树的特点是每一层上的节点数都是最大节点数。
完全二叉树
在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点。具有n个节点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子节点,至多有2k-1个节点。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct BINARYNODE
{
char ch;
struct BINARYNODE* lchild;
struct BINARYNODE* rchild;
}BinaryNode;
void Recursion(BinaryNode* root)
{
if(root==NULL)
{
return ;
}
//先遍历左子树
Recursion(root-