双亲表示法,孩子表示法,孩子兄弟表示法
1.双亲表示法
查找双亲简单,空数据导致遍历更慢,查指定节点的孩子只能遍历
typedef ElemType int;
#define MAX_TREE_SIZE
typedef struct
{
ElemType data;
int parent;
} PTNode;
typedef struct
{
PTNode nodes[MAX_TREE_SIZE];
int n;
}PTree;
2.孩子表示法
孩子表示法(顺序+链式存储),顺序存储各个节点,每个节点保存孩子链表头指针
struct CTNode{
int child;
struct CTNode *next;
};
typedef struct
{
ElemType data;
struct CTNode *firstChild;
}CTBox;
typedef sturct{
CTBox nodes[MAX_TREE_SIZE];
int n;
int r;
}CTree;
3.孩子兄弟表示法
链式存储:转化为二叉树,左孩子右兄弟
typedef struct CSNode{
ElemType data;
struct CSNode *firstchild,*nextsibling;
}CSNode,*CSTree;
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)