二叉树与树、森林之间的转换

news/2024/12/4 19:52:35/

一、森林、树转换成二叉树

 

树转化成二叉树的步骤:

  1. 树中所有相邻兄弟结点之间加一条线
  2. 对树中的每个结点只保留它与长子之间的连线,删除与其他孩子之间的连线
  3. 以树的根结点为轴心,将整棵树顺时针转动45^{\circ},使之结构层次分明

图例:

 

森林转化成二叉树的步骤:

  1. 将森林中的每棵树转化成相应的二叉树
  2. 第一颗二叉树不动,从第二颗树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子结点,直到所有二叉树都连接到一起

图例:

 

 

二、二叉树还原成树、森林

 

二叉树还原成树的步骤:

  1. 若某结点是其双亲的左孩子,则把该结点的右孩子、右孩子的右孩子等都与该结点的双亲结点用连线连起来
  2. 删除原二叉树中所有双亲结点与右孩子结点之间的连线
  3. 整理由前两步得到的树,即以该结点为轴心,逆时针转动45^{\circ},使之结构层次分明

图例:

 

二叉树还原成森林的步骤:

 

  1. 抹掉二叉树根结点右链上的所有结点之间的“双亲—右孩子”关系,将其分成若干个以右链上的结点的二叉树,设这些二叉树为bt_{1} , bt_{2} .... bt_{m}
  2. 分别将bt_{1} , bt_{2} .... bt_{m}二叉树各自还原成一棵树

图例:

 

个人的一点小理解:

在二叉树还原成森林的时候,可以看出“右孩子很重要”,还原成森林的连通分支的个数直接与“右孩子挂钩”,理解清楚这一点对于最后结果的正确性有着至关重要的影响。

 

声明:

此篇文章的主体内容均出自数据结构相关书籍,非本人原创,只是在学习的过程中觉得有必要将其写入个人博客之中,且最终目的只是为了方便自己或有需要的人进行查阅。博客中的图片为本人采用相关软件绘制,不存在直接搬用他人图片,可能会有点丑,还请理解。此外,若需转载本文仍需本人同意。


http://www.ppmy.cn/news/592770.html

相关文章

Isolation Forest孤立森林(一)

孤立森林论文地址 http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf 概要 现有的基于模型的异常检测方法大多是构造一个正常实例的概要文件,然后将不符合标准的实例作为异常文件进行认证。本文提出了一种完全不同的基于模型的方法&#xff0c…

R语言 森林图

案例 今天介绍的用于画森林图的R包为forestmodel,用到其中的函数forest_model,这个函数可以接收lm、glm、coxph等函数拟合的模型。我们先来画一个cox模型的森林图 library(forestmodel) library(survival)lung$ph.ecog <- factor(lung$ph.ecog) lung$sex <- factor(l…

随机森林算法(Random Forest)原理分析及Python实现

目录 一、基础概念1.监督式机器学习2. 回归和分类3. 决策树4. 随机森林 二、Random Forest 的构造1. 算法实现2.数据的随机选取3. 待选特征的随机选取 三、Random Forest 优缺点1 .优点2 .缺点 四、Random Forest 的Python实现1. 随机森林python实现2. Decision Tree 和 Random…

决策树和随机森林的python实现

文章目录 决策树实现方法测试更好地展示结果调参调整max_depthscoring利用GridSearchCV确定最佳max_depthmin_samples_splitmin_impurity_decreasemax_features多参数同时选优采用最优参数 特征重要性排序 随机森林测试调参n_estimators调整max_depth调整max_features调整min_s…

用自己的图片集做随机森林、逻辑回归分类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明作者和出处。https://blog.csdn.net/xq920831/article/details/84390468 参考文章地址&#xff1a;https://blog.csdn.net/qq_42379006/article/details/80929670 决策树与随机森林的基础知识&#xff1a;https:…

基于决策树的随机森林

随机森林&#xff1a; 什么是随机森林&#xff1f; 随机森林&#xff0c;顾名思义&#xff0c;里面有很多棵树&#xff0c;它基于决策树&#xff0c;将多个决策树结合在一起后把它们的预测结果结合起来预测目标&#xff0c;是集成算法中一种典型的Bagging模型。 集成算法&…

随机森林(Random Forest )

上一篇:决策树(Decision Tree) 随机森林是一个具有高度灵活的机器学习算法&#xff0c;随机森林&#xff08;Random Forest&#xff0c;简称RF&#xff09;拥有广泛的应用前景,在当前的很多数据集上&#xff0c;相对其他算法有着很大的优势&#xff0c;表现良好.因为随机森林同…

机器学习之决策树、随机森林

一、决策树 决策树是常见的机器学习中监督学习的方法&#xff0c;可以用来分类和回归。对于数据集&#xff0c;沿着决策树的分支&#xff0c;根据属性值判断属于决策树的哪一枝&#xff0c;最终到达叶节点&#xff0c;得到结果。一棵典型的决策树如下&#xff0c; 图1. 决策树…