关键思路:利用递归建立节点完成转换。首先我们观察二叉树的结构,包含第一个孩子,及其兄弟。关键在于:那么我们在构造递归时,每层recursion中都必须找到对应sibling和firstchild。对于双亲表示法,我们很难找到孩子,对于孩子表示法,我们很难找到双亲(因为找到双亲是找到本节点兄弟的唯一方法,或在传参时也传入父节点指针)。
不同形式间转换的技巧:对于要被转换的结构,需要传入针对它单次recursion完成结构内部所有成员构造对应的转换的结构的信息。就能完成一层递归。同时应注意递归结束的条件!
A) 孩子表示法生成二叉树算法:
typedef struct BiTree{
ElemType data;

这篇博客详细介绍了四种不同的二叉树与森林的转换方法:孩子表示法生成二叉树、孩子双亲表示法生成二叉树、同构链式孩子表示法生成二叉树、以及异构链式孩子表示法生成二叉树。每种方法都提供了相应的C语言实现,并强调了递归转换的关键在于找到孩子和双亲节点。
最低0.47元/天 解锁文章
1434

被折叠的 条评论
为什么被折叠?



