数据结构学习笔记——树和森林

一、树、森林与二叉树的转换

1、树转二叉树:

(1)“孩子兄弟表示法”:左孩子右兄弟。

2、二叉树转森林:

(1)将根及左子树视为第一棵树,右链断开;
(2)剩下来的二叉树按同样方法;
(3)直到最后只剩一棵没有右子树的二叉树为止。

二、树和森林的遍历

相当于转换为二叉树后再遍历。

1、树先序:

(1)访问根结点;
(2)依次遍历根结点的每棵子树(先根后子树)。

2、树后序(相当于转化为二叉树后的中序遍历):

(1)依次遍历根结点的每棵子树;
(2)访问根节点。

3、森林先序(递归定义):

(1)访问第一棵树的根;
(2)先序遍历第一棵树根的子树森林;
(3)同样方法遍历剩下的森林。

4、森林中序(递归定义):

(1)中序遍历第一棵树根的子树森林;
(2) 访问第一棵树根;
(3)同样方法遍历剩下的森林。

5、二叉树遍历的对应:

森林二叉树
先序先序先序
后序中序中序

一些结论:

(1)森林转二叉树后,由二叉树判断树的个数:只要数右上方的结点数;

(2)一棵树也可叫森林;

(3)森林有n个非叶结点,转换为二叉树后会出现n个叶子(每个非叶所在子树转换后都
会有一个叶子),加上在最后一棵树的根结点,共有n+1个无右子树的结点;

(4)森林叶子个数等于转为二叉树后无左孩子的结点个数;

(5)森林树的个数等于结点数减边数(连通分支数)。

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值