(1)请用树形表示法,画出这个树 (2)双亲表示法的数据结构定义为
typedef struct { ElemType data; int parent; } PTree[MaxSize]; 12345请描述这个树利用双亲表示法时的存储 (3)用孩子链存储时,每个节点定义下面的类型
typedef struct node { ElemType data; struct node *sons[MaxSons]; } TSonNode; 12345请描述这个树利用孩子链表示法时的存储 (4)孩子兄弟链存储结构中的节点定义为
typedef struct tnode { ElemType data; //节点的值 struct tnode *hp; //指向兄弟 struct tnode *vp; //指向孩子节点 } TSBNode; 123456请描述这个树利用孩子兄弟链表示法时的存储 (5)树结构还可以用一种孩子链表示法
//定义孩子节点,将形成一个单链表 typedef struct node { Int no; //孩子节点编号 struct node *next; //指向下一个孩子 } NodeType; //定义树节点类型,各节点组成顺序存储的线性表,若节点要作为孩子节点,“孩子节点编号(no)”即为在顺序表中的序号 typedef struct { ElemType data; //元素值 NodeType *firstChild; //指向第一个孩子 } CTree[MaxSize]; 123456789101112请描述这个树利用孩子兄弟链表示法时的存储。
2、某二叉树的顺序存储结构如下所示: (1)请用树形表示法,画出二叉树的结构 (2)请用括号表示法,给出这个二叉树的表示 (3)请写出这个二叉树的先序、中序、后序遍历序列
3、二叉树还可以采用一种“伪”链式存储结构,如下所示 其中,lchild和rchild分别为节点左右孩子的指针域(在这里,使用节点编号作为指针域值,0表示指针域为空),data为节点的数据域。请画出这个二叉树的树形表示。
4、一棵二叉树的先序、中序和后序序列分别如下所示,其中有一部分未显示出来: 先序:_B_F_ICEH_G 中序:D_KFIA_EJC_ 后序:_K_FBHJ_G_A 请求出空格处的内容,并画出二叉树。