数据结构-树概念基础知识

根结点:非空树中无前驱节点的结点
结点度:结点拥有的子树数或子节点数或后继节点数
树的度:树内各结点的度的最大值
叶子:终端节点,度为0
祖先:从根到该节点所经分支上的所有结点
子孙:以某结点为跟的子树中的任意节点
深度 (从上往下数)
树的深度:距离根结点最远的结点所处的最大层数即为树的深度。

下图中
树深度为5
A结点的深度为1(处在第1层)
G结点的深度为3(处在第3层)

高度(从下往上数)
树的高度:树的高度和树的深度相同,叶结点的高度为1,非叶结点的高度等于它的子女结点高度的最大值+1

G的高度为3、M高度为2,O的高度1
F的高度为1

注:节点的高度和深度是不同的。

总结:1.所有节点中,节点最大的度,即为树的度
           2.所有节点的深度/高度的最大值即为树的深度和高度
           


树的路径长度:指从根节点到每个节点的路径之和,或者是所有路径的长度的总和
节点路径长度:节点与节点之间的路径长度
所有节点的路径长度之和为树的路径长度

图中树的度为3:
树的所有结点=所有结点的度+1。
 区别一下2种情况
 总结点=所有结点的度之和+1
 总结点=所有度的节点数量之和。  度为0的结点+度为1的结点+度为2的节点+度为.n的结点
 


叶子节点=所有节点-非零度的节点个数。

二叉树性质
1.深度为K的二叉树至多有2的k次方-1个节点k>=1  ,至多实际指满二叉树的情况
深度为k时至少有k个结点。

2.在二叉树的第i层上至多有2的i-1次方个节点(i>=1)

一、二叉树性质:任何一个二叉树,如果叶子数为n。,度为2的节点数为n2,则n。= n2+1;


二、哈弗曼树概率
路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。
结点的路径长度:两结点间路径上的分支数。 
树的路径长度:从树根到每一个结点的路径长度之和
权:给树中结点赋一个有某种含义的数值,则这个数值称为该结点的权。
结点的带权路径长度:从根结点到该结点之间的路径长度与该结点的权的乘积
树的带权路径长度WPL:树中所有叶子结点的带权路径长度之和 
哈弗曼树:最优树 ,带权路径长度(WPL)最短的树
带权路径长度最短,是在度相同的树中比较而得出的结果,因此有最优二叉树,最优三叉树之称

满二叉树不一定是哈弗曼树
哈夫曼树中权越大的叶子离根越近
具有相同带权结点的哈弗曼树不唯一

三、哈弗曼树的构造算法
1.构造森林全是根
2.选用两小造新树
3.删除两小添新人
4.重复2、3

哈夫曼树的结点的度数为0或2,没有度为1的结点。

包含n个叶子结点的哈夫曼树中共有2n-1个结点

哈弗曼树总结:
1.在哈夫曼算法中,初始化时有n棵二叉树,要经过n-1次合并最终形成哈弗曼树。
2.经过n-1次合并产生n-1个新结点,且这n-1个新结点都是具有两个孩子的分支结点

四、哈夫曼树的构造算法实现

采用顺序存储结构------一维结构数组
结点类型定义

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

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

相关文章

Springboot + xxlJob注意事项

1. 部署 就是这个地址: https://gitee.com/xuxueli0323/xxl-job 由于xxl-job的思想是 调度中心负责调度任务,然后有执行器负责接受调度的信息,然后根据调度,执行任务中的具体逻辑 将 xl-job-admin 启动起来,操作xl-job-admin这个文件夹下的配置文件即可: 创建数据库 执行sql…

外面收费888的CR视频批量剪辑软件短视频去重搬运过豆+去水印批量【剪辑脚本+详细教程】

软件功能: 去水印 加水印 裁剪 画中画 去头尾 加头尾 变速 文本 背景音 画面调整 分辨率 虚化 宫格分屏 旋转 帧率 抽帧 动态缩放 码率调整 合并 分割 专场 镜像重置 补针 定帧 音频抽取 视频抽取 字幕 生成gif 静音移除 画面拼接 图转视频等等 不限制次数&#x…

访问git和vue很慢如何解决

场景 最近弄git和vue发现进他们的官网实在是太慢了,想自己能不能改善一下,后来自己指定了一下ip跳过了dns解析,现在把解决过程写一下。 解决方案 先进入 C:\Windows\System32\drivers\etc 修改HOSTS 修改之前先备份下HOSTSgit下过慢 在HO…

AICloud 分论坛 07-AI原生数据库与RAG【文档管理】

https://github.com/infiniflow/infinityhttps://infiniflow.org/视频观看:https://www.bilibili.com/video/BV16m411y7xW/?spm_id_from333.999.0.0&vd_sourceae7b192be069682aabc96350ba419fc5 简介 为LLM应用程序构建的AI原生数据库,提供令人难…

自查判断海外IP地址的质量,方式有这些!

为了保障海外代理IP的使用感受,在我们购买海外IP地址后,可以对其可靠性和安全性进行自查,避免潜在问题的发生,保障网络体验。 我们可以根据一下方法来进行自查判断: IP黑名单检查:使用IP黑名单检查工具&am…

【年报文本分析】第五辑:Python+Pytorch训练大语言模型,使用自训练模型完成文本分类任务——金星晔等(2024)《经济研究》大语言模型方法的复现

目录 0 背景介绍1 环境及依赖库2 使用示例数据集,跑通大语言模型代码2.1 源代码下载2.2 代码的运行步骤3 更换预训练模型,寻找最优模型4 确定词典,筛选年报5 开始人工标注工作6 批量文本预测 0 背景介绍 金星晔老师等在《经济研究》2024年第…

包管理工具cnpm的安装和使用

介绍 cnpm是淘宝构建的npmjs.com的完整镜像,也成为淘宝镜像,网址https://npmmirror.com/ cnpm服务部署在国内 阿里云服务器上,可以提高包的下载速度 官方也提供了一个全局工具包cnpm,操作命令与npm大体相同 安装 我们可以通过…

十一、Redis持久化-RDB、AOF

Redis提供了两种持久化数据的方式。一种是RDB快照,另一种是AOF日志。RDB快照是一次全量备份,AOF日志是连续的增量备份。RDB快照是以二进制的方式存放Redis中的数据,在存储上比较紧凑;AOF日志记录的是对内存数据修改的指令文本记录…

AMEYA360代理品牌 | 海康存储产品介绍

海康存储成立于2017年,依托海康威视在视音频、成像采集与数据管理领域长达20年的技术沉淀和积累,聚焦工业控制、数据中心、视频监控、终端消费等应用场景,为企业客户及终端用户提供值得信赖的存储产品和解决方案。 目前,海康存储已…

我看看谁还不会AI模特试装!AI绘画电商系列保姆级教程(文末有福利)

不得不说,AI绘画在电商行业展现出了巨大的商业价值,就连专注电商的AI绘画工具都层出不穷。茉莉也试了不少AI商拍工具,主打「0门槛」「一键式」操作,但效果和自定义灵活性,根本比不上MidjourneyStable DIffusion这一王炸…

Comau柯马机器人维修故障分类

在柯马机器人的使用过程中,常见的是Comau机械手减速器故障。那么,我们一起来探讨一下柯马机械臂维修减速机故障的问题。Comau工业机械手减速器故障分类 1. 异响 机器人在工作过程中发出异常声响,可能是柯马机械臂减速器内部磨损或零件松动引起…

python创建虚拟环境

python3 -m venv 和 virtualenv 是两种不同的方式来创建 Python 虚拟环境。 1. python3 -m venv: - 是 Python 标准库中的一个模块,用于创建虚拟环境。 - 在 Python 3.3 版本以后被添加到标准库中。 - 可以直接通过 Python 的命令行来使用。 …

二分图及图匹配(图论学习总结部分内容)

文章目录 前言四、二分图及图匹配二分图常见模型二分图例题 e g 1 : eg1: eg1: [ Z J O I 2009 ZJOI2009 ZJOI2009​\][假期的宿舍](https://ac.nowcoder.com/acm/contest/34649/B)(二分图最大匹配板题) e g 2 : eg2: eg2:​​ [C-Going Home](https://ac.nowcoder.com/acm/con…

Compose容器编排示例

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 目录如下: 一、从源代码开始构建、部署和管理应用程序 1.1、创建项目目录并准备应用程序的代码及其依赖 1.2、创建Dockerfile 1.3、在…

OOP和模板

在面向对象编程(Object-Oriented Programming,简称OOP)中,并没有直接称为“模板”的概念,但你可能是在提到与模板相关的概念,如“泛型编程”中的模板(特别是C中的模板)。然而&#x…

电动汽车与 PLM:下一代转型的结合

汽车电气化是汽车行业持续变革的驱动力,因此电动汽车 (EV) 行业成为当今最令人兴奋、最相关和最必要的创新领域之一。快速且有利可图地设计电动汽车及其零部件,同时使其受到消费者的青睐,是一项艰巨的挑战。因此,电动汽车行业企业…

docker————容器的管理

目录 1、运行容器 1、前台启动 2、后台启动 2、查看运行的容器 3、进入正在运行的容器 1、方式一 2、方式二 3、两种方式的区别 4、删除容器 1、删除指定的容器 2、删除所有的容器 方式一 方式二 5、启动和停止容器的操作 1、启动容器 2、重启容器 3、停止当前正…

体验GM CHM Reader Pro,享受高效阅读

还在为CHM文档的阅读而烦恼吗?试试GM CHM Reader Pro for Mac吧!它拥有强大的功能和出色的性能,能够让你轻松打开和阅读CHM文件,享受高效、舒适的阅读体验。无论是学习、工作还是娱乐,GM CHM Reader Pro都能成为你的得…

python数据分析——数据分类汇总与统计

数据分类汇总与统计 前言一、Groupby分类统计语法按列分组示例一示例二示例三 遍历各分组示例 使用字典和Series分组示例 使用函数分组示例 二、数据聚合groupby的聚合函数示例一示例二 逐列及多函数应用示例一示例二 返回不含行索引的聚合数据示例 三、一般性的“拆分-应用-合…

我们从北京-举家南迁 来杭州了-分享不一样的变化

-----------------------------------写在前面 ----------------------------------- 核心动机: 北京十年,因拿不到户口,举家南迁, hh已经南迁。现已在杭州打卡工作好几天了(2024年4月20搬迁杭州) ----…