试编写一个算法,将双亲表示法存储的树转化为: 孩子一兄弟表示法。

admin2014-12-25  18

问题 试编写一个算法,将双亲表示法存储的树转化为:
孩子一兄弟表示法。

选项

答案CSTreePchangeCS(PtreeT,int root) { 将双亲表示法的树T转化为孩子一兄弟表示法,root表示树根在双亲表示法中的下标 P=(CSTee)malloc(sizeof(CSNode)); P一>data=T.nodes[root].data; P一>frrstchild=P一>nextsibling=NULL; first=1; fbr(i=0;ifrrstchild=q;first=0;sibling=P一>frrstchild;} else{sibling一>nextsibling=q;sibling=q;} } returnp; }

解析 将双亲表示的存储结构转化成孩子一兄弟表示法,首先找出根结点,然后在双亲表示法的存储结构中找出双亲是根的所有结点,若根的第一个孩子为空,则将某结点作为根的第一个孩子,其余结点作为兄弟。对双亲表示法中的任意一结点,均递归建立其孩子一兄弟链表。算法描述如下。
转载请注明原文地址:https://jikaoti.com/ti/6ULaFFFM
0

相关试题推荐
最新回复(0)