二叉树的顺序存储
实现:按完全二叉树的结点层次编号,依次存放二叉树中的数据元素。
优点:结点的下标能表示结点在二叉树中的关系.如父子,兄弟等.适合满二叉树和完成二叉树.
缺点:如果不是完全二叉树,则浪费空间严重,由于这个缺点,在工作中较少使用顺序存储.
二叉树的链式存储
二叉链表
typedef struct BiTNode{
TElemType data; //数据
struct BiTNode * lchild; //左孩子指针
struct BiTNode * rchild; //右孩子指针
}BiTNode,*BiTree;
三叉链表
typedef struct TriTNode
{
TelemType data; //数据
struct TriTNode *lchild;//左孩子指针
struct TriTNode *parent;//双亲结点指针
struct TriTNode *rchild;//右孩子指针
}TriTNode,*TriTree;
三叉链表多了一个双亲结点指针,找当前节点的双亲会非常的容易.如果当前的应用需要经常找双亲,则这种设计是合适的.只是这种操作并不常用.
本篇完!