树
结点拥有的子树数量称为结点的度
树中结点的最大层次称为树的深度或高度
如果将树中结点的各子树看成从左至右是有次序的,不能互换的,则称该树为有序树,否则称无序树
森林是m棵互不相交的树的集合
树的存储结构
1,双亲表示法
#define MAX_TREE_SIZE 100
typedef struct PTNode
{
int data; //节点数据
int parent; //双亲位置
}PTNode;
typedef struct
{
PTNode nodes[MAX_TREE_SIZE];
int r; //根的位置
int n; //结点数
}PTree;
2,孩子表示法
3,孩子兄弟表示法
1满二叉树
2完全二叉树
二叉树链表
typedef struct BiTNode
{
int data; //结点数据
struct BiTNode* lchild;
struct BiTNode* rchild;
}BiTNode, *BiTree;
二叉树三种遍历方法
1,前序遍历 根左右
2,中序遍历 左根右
3,后序遍历 左右根