【树与二叉树的转换,哈夫曼树的基本概念】

文章目录

  • 树与二叉树的转换
  • 将二叉树转化为树
  • 森林与二叉树的转化(二叉树与多棵树之间的关系)
  • 二叉树转换为森林
  • 森林的先序遍历
    • 1)先序遍历
    • 2)后序遍历
  • 哈夫曼树的基本概念
  • 森林转换成二叉树(二叉树与多棵树的关系)

树与二叉树的转换

将树转化为二叉树处理,利用二叉树的算法实现对树的操作。
由于树和二叉树都可以用二叉树链表做存储结构,则二叉链表的媒介可以导出与二叉树之间的对应关系。
给定一棵树,可以找到唯一的一棵二叉树与之对应。
在这里插入图片描述
在这里插入图片描述
树变二叉树:兄弟相连留长子。
例如:
①兄弟相连

在这里插入图片描述
②留长子
在这里插入图片描述
在这里插入图片描述

将二叉树转化为树

左孩右右连双亲,去掉原来右孩线。
在这里插入图片描述
在这里插入图片描述

森林与二叉树的转化(二叉树与多棵树之间的关系)

树变二叉根相连
①将各棵树分别转换为二叉树。
②将每棵树的根结点用线相连。
③以第一棵树根结点为二叉树的根,再以根结点为轴心,顺时针旋转,构成二叉树结构。
在这里插入图片描述

二叉树转换为森林

去掉全部右孩线,孤立二叉再还原。
在这里插入图片描述

森林的先序遍历

1)先序遍历

  • 若森林不空,则先访问根结点,然后从左向右的顺序,先遍历根结点的每一棵子树(依次从左至右对森林中的每一棵树进行先根遍历)。
  • 树的先根遍历书序应该和二叉树的先序遍历顺序相同。

2)后序遍历

  • 如果树非空,则按从左往右的顺序,后根遍历根结点的每一棵子树,然后访问根结点。
  • 树的后根遍历顺序应与该树对应二叉树遍历顺序相同。

哈夫曼树的基本概念

  • 路径:从树中的一个结点到另一个结点之间的分支构成这两个结点间的路径。
  • 结点的路径长度:两结点路径上的分支数。
    例如:
    在这里插入图片描述这里表示的是从A结点到H结点的路径,路径长度为4。
  • 树的路径长度:从树根到每一个结点的路径长度之和。记作TL。
    例如:
    在这里插入图片描述
    结点数目相同的二叉树中,完全二叉树的路径长度最短的二叉树。

森林转换成二叉树(二叉树与多棵树的关系)

①将各棵树分别转换为二叉树。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习1【吴恩达】

视频链接:1.5 关于这门课_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FT4y1E74V?p5&spm_id_frompageDriver&vd_source3b6cdacf9e8cb3171856fe2c07acf498 视频中吴恩达老师所有的话语收录: 机器学习初学者-AI入门的宝典 (ai-start.c…

基于python+TensorFlow+Django卷积网络算法+深度学习模型+蔬菜识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 介绍了TensorFlow在图像识别分类中的应用,并通过相关代码进行了讲解。通过TensorFlow提供的工具和库&am…

电脑小Tip---外接键盘F1-F12快捷键与笔记本不同步

当笔记本外接一款非常好用的静音键盘后,会出现一些问题。例如:外接键盘F1-F12与笔记本不同步。具体一个例子就是,在运行matlab程序时,需要点编辑器—运行,这样就很麻烦,直接运行的快捷键是笔记本键盘上的F5…

SQL SELECT INTO 语句

SQL SELECT INTO 语句 使用 SQL,您可以将信息从一个表中复制到另一个表中。 SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。 SQL SELECT INTO 语法 我们可以把所有的列都复制到新表中: SELECT * INTO newtable [IN ex…

使用大型语言模型进行文本摘要

路易斯费尔南多托雷斯 📝 Text Summarization with Large Language Models。通过单击链接,您将能够逐步阅读完整的过程,并与图进行交互。谢谢你! 一、介绍 2022 年 11 月 30 日,标志着机器学习历史上的重要篇章。就在这…

uni.getLocation() 微信小程序 线上获取失败

开发版,体验版,用此方法都可以正确获取定位,但是在小程序的线上,总是获取失败 参考:uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权-CSDN博客 uniapp 中的 uni.…

2023年A股借壳上市研究报告

第一章 借壳上市概况 1.1 定义 借壳上市作为一种独特的资本市场操作手法,历来是企业拓展融资渠道和实现市场战略目标的重要途径。具体来说,借壳上市可分为狭义与广义两种模式。在狭义的定义下,借壳上市是指一家已上市的公司的控股母公司&am…

RabbitMQ的 五种工作模型

RabbitMQ 其实一共有六种工作模式: 简单模式(Simple)、工作队列模式(Work Queue)、 发布订阅模式(Publish/Subscribe)、路由模式(Routing)、通配符模式(Topi…

数据结构与算法【二分查找】Java实现

需求:在有序数组 A 内,查找值target 如果找到返回索引如果找不到返回 -1 前提 给定一个内含 n 个元素的有序数组 A,一个待查值 target 1 设置 i0,jn-1 2 如果 i \gt j,结束查找,没找到 3 设置 m (…

Clickhouse学习笔记(3)—— Clickhouse表引擎

前言: 有关Clickhouse的前置知识详见: 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎(即表的类型)决定了&…

数据库安全:Hadoop 未授权访问-命令执行漏洞.

数据库安全:Hadoop 未授权访问-命令执行漏洞. Hadoop 未授权访问主要是因为 Hadoop YARN 资源管理系统配置不当,导致可以未经授权进行访问,从而被攻击者恶意利用。攻击者无需认证即可通过 RESTAPI 部署任务来执行任意指令,最终完…

Transmit :macOS 好用的 Ftp/SFtp 工具

Transmit 是一种功能强大的 FTP/SFTP/WebDAV 客户端软件,是一个 Mac OS X 平台上设计的文件传输软件。它由 Panic(一家以软件工具为主的公司)开发和维护,是一款非常受欢迎且易于使用的软件,而且被广泛认为是 Mac OS X …

SpringCloudGateway--Sentinel限流、熔断降级

目录 一、概览 二、安装Sentinel 三、微服务整合sentinel 四、限流 1、流控模式 ①直接 ②关联 ③链路 2、流控效果 ①快速失败 ②Warm Up ③排队等待 五、熔断降级 1、慢调用比例 2、异常比例 3、异常数 一、概览 SpringCloudGateway是一个基于SpringBoot2.x的…

机器学习模板代码(期末考试复习)自用存档

机器学习复习代码 利用sklearn实现knn import numpy as np import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCVdef model_selection(x_train, y_train):## 第一个是网格搜索## p是选择查找方式:1是欧…

CS224W5.3——信念传播

此文中,我们介绍信念传播,这是一种回答图中概率查询的动态规划方法。通过迭代传递消息给邻居节点,如果达成共识,则计算最终的信念值。然后,我们通过示例和泛化树结构展示消息传递。最后讨论了循环信念传播算法及其优缺…

ROS话题(Topic)通信:通信模型、Hello World与拓展

文章目录 一、话题通讯模型二、Topic Hello World2.1 创建并初始化功能包2.2 确定Topic名称及消息格式2.3 实现发布者与订阅者(C版)2.4 实现发布者与订阅者(Python版)2.5 关于Topic Hello World的注意 拓展1:devel下其…

计算机网络——物理层-传输方式(串行传输、并行传输,同步传输、异步传输,单工、半双工和全双工通信)

目录 串行传输和并行传输 同步传输和异步传输 单工、半双工和全双工通信 串行传输和并行传输 串行传输是指数据是一个比特一个比特依次发送的。因此在发送端和接收端之间,只需要一条数据传输线路即可。 并行传输是指一次发送n个比特,而不是一个比特&…

11.7加减计数器,可置位~,数字钟分秒,串转并,串累加转并,24位串并128,流水乘法器,一些乘法器

信号发生器 方波,就是一段时间内都输出相同的信号 锯齿波就是递增 三角波就是先增后减 加减计数器 当mode为1则加,Mode为0则减;只要为0就输出zero 这样会出问题,因为要求是十进制,但是这里并没有考虑到9之后怎么办&a…

测试用例的设计方法(黑盒)

1.基于需求的设计方法 比如针对网易邮箱进行测试:分为功能相关和非功能相关两大类 但是这么设计的话,有无数多个测试用例,我们现在看到的只是一些大概的测试用例,要想设计具体的测试用例,需要用到下面测试用例的方法…

password game

目录 password game (1-2) (3) (4) (5) (6) (7) (8) (9) (10&am…