树和森林。

文章介绍了树的几种存储结构,如双亲表示法、孩子链表和孩子兄弟表示法,并讨论了树与二叉树之间的转换规则,包括树变二叉树、二叉树变树以及森林与二叉树的相互转换。此外,还概述了树的遍历方法,如先根、后根和按层次遍历,以及森林的遍历策略。
摘要由CSDN通过智能技术生成

森林:是m棵互不相交的树的集合。

树:是n个结点的有限集。若n=0,称为空树。

树的存储结构:

  1. 双亲表示法

定义结构数组

存放树的结点,每个结点含两个域:数据域,双亲域。

  1. 孩子链表

  1. 孩子兄弟表示法

用二叉链表作树的存储结构,链表中每个结点的两个指针域分别指向其第一个孩子结点和下一个兄弟结点

树和二叉树的转换

将树转化为二叉树进行处理,利用二叉树的算法来实现对树的操作。

给定一棵树,可以找到唯一的一棵二叉树与之对应。

树变二叉树:兄弟相连留长子。

二叉树变树:左孩右右连双亲,去掉原来右孩线。

森林转换成二叉树:树变二叉根相连。

二叉树转换成森林:去掉全部右孩线,孤立二叉再还原。

树的遍历:

  1. 先根遍历:根子树

  1. 后根遍历:子树根

  1. 按层次遍历:自上而下自左至右

森林的遍历:

将森林看作由三部分构成:

  1. 森林中第一棵树的根结点

  1. 森林中第一棵树的子树森林

  1. 森林中其它树构成的森林

先序遍历:从左至右对森林中的每一棵树进行先根遍历。

中序遍历:从左至右对森林中的每一棵树进行后根遍历。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值