【正确答案】正确答案:(1)

(2)

(3)森林的带右链的前序表示法。在前序序列中,任何结点的子树的所有结点都直接跟在该结点之后;每棵子树的所有结点都聚集在一起,中间不会插入其他结点;任何分支结点后面跟的是它的第一个子女。故结点可采用如下结构(1tag,data,rlink)。其中,ltag为左标记,ltag=1表示该结点无子女或二叉树无左子女,Itag=0表示其后存储其第一子女或二叉树的左子女;data是结点的数据;rlink指向下一兄弟或二叉树的右子女。用左标记代替左指针,占用存储单元少,不会丢失信息。本题森林的带右链的前序表示法为(注:“下标”行不是结点成分):

(4)带度数的后根次序表示法。在后序序列中,任何一棵子树的结点聚在一起,根结点在最后。结点按后根次序顺序存储在一片连续的存储单元中,结点结构可描述为:(data,degree)。 (5)该森林带度数的后根次序表示法如下:后根次序序列中任何一棵子树的结点个数减边数为1。设某结点的度degree=m,即该结点有m个子女,最右边的子女就是该结点的前驱。在后根次序表示法中最后的第2个子女是最右子女为根的子树的前驱,以结点x为根的子树的前驱求法如下:令q=0,从x开始从后往前走,每经过一个结点z,作q=q++-degree(z);到q=1时,再往前走一个结点就是以结点x为根的子树在后根序列中的前驱。
