将树与森林转化为二叉树是数据结构的经典题目之一,做这类题目的时候,我们需要牢记,二叉树的结构如下:
而一般的树与森林的结构为:
在上图当中,“兄弟1”,“兄弟2”,“兄弟3”均为“数据域”的“孩子”;而“兄弟1”,“兄弟2”,“兄弟3”彼此之间互为“兄弟域”。
所以在做这类题目的时候,我们仅仅只需要记住树与森林转化为二叉树即为:“树变二叉根相连,兄弟相连留长子” 这么说可能是有点难以理解,我们以题目来举例就更容易去理解了。
从上图中可以得到,上图为一个树,A的孩子为B,C;B的孩子为D,E,F;C的孩子为G,H;E的孩子为I;G的孩子为J;H的孩子为K,则根据二叉树“兄弟在右,孩子在左”的结构可以得到
再将上图依次连接起来就可以得到:
做到这里我们也就完成了此题树转化为二叉树,森林同理。
希望可以帮助到你。