树——树的结构、遍历以及树和森林,二叉树的相互转化

目录

 

树的存储结构

双亲表示法

孩子链表

特点

改进

孩子兄弟表示法

举例

树与二叉树的转换

简化

树—>二叉树

二叉树—>树

森林和二叉树的转换

森林—>二叉树

举例

二叉树—>森林

举例

树和森林的遍历

树的遍历(三种方式)

森林的遍历(两种方式)

先序遍历

中序遍历


树的存储结构

双亲表示法:

就比如说A,B,C的指针域都为0,表明其双亲的下标为0,即根节点R。

孩子链表:

如上图 A 的孩子是指向 3 和 5 位置的 D 和 E 。

特点:找孩子容易,找双亲难。

改进:将双亲表示法与孩子链表结合起来。

如:

如A,B,C的双亲为位于4位置的 R 。

这种还是为了操作方便而牺牲了空间,又多进行了存储。

孩子兄弟表示法:

举例

找双亲还是难,也可以像上述一样增设一个双亲指针域。

树与二叉树的转换

由于树和二叉树都可以用二叉链表作存储结构,则以二叉链表作媒介可以导出属于二叉树之间的一个对应关系。

举例

树是通过兄弟表示法来转化为二叉链表的。

如果每次转化都需要先转化为二叉链表再进行转化的话,显然很麻烦。

简化:

树—>二叉树

举例

二叉树—>树

举例:

森林和二叉树的转换

森林—>二叉树

举例:

二叉树—>森林

举例:

树和森林的遍历:

树的遍历(三种方式)

森林的遍历(两种方式)

先序遍历:

即:依次从左到右对森林中的每一棵树进行先序遍历。

中序遍历:

即:依次从左到右对森林中的每一棵树进行后序遍历。

举例:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值