哈夫曼树-算法

一、霍夫曼树基本概念
判断分数的级别
d
路径:从树的一个结点到另外一个结点的分支构成这两个结点的路径
结点的长度:两节点之间路径的分支数
树的路径长度:从树根到每一个结点的长度之和,记做TL:
在这里插入图片描述
结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树
—--------------------------------------------------------------------------------------------------
权:将树中结点赋给一个有着某种含义的值,称为这个结点的权
结点的带权路径:从根结点到该结点之间的路径长度,与该结点的乘积
树的带权路径长度:树的所有叶子结点带权路径之和
在这里插入图片描述—--------------------------------------------------------------------------------------------------
哈夫曼树:最优二叉树树(带权路径长度最短的树),在度相同的前提下,相同算法称为哈夫曼算法
在这里插入图片描述
二、霍夫曼树的构造算法:
贪心算法:构造哈夫曼树首先选择权值小的叶子结点
在这里插入图片描述
在这里插入图片描述
总结:
1、在哈夫曼算法中,初始时有n棵二叉树,需要经过N-1次合并最终形成哈夫曼树
2、经过n-1次合并产生n-1个新结点,且这n-1个新结点都是具有两个孩子的分支结点

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

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

相关文章

Linux--冯诺依曼体系结构

【Linux】冯诺依曼体系结构、操作系统及进程概念_linux io 冯诺依曼_平凡的人1的博客-CSDN博客 存储器指的是内存还是磁盘? 内存 输入设备:键盘、摄像头、话筒、磁盘、网卡... 输出设备:显示器、音响、磁盘、网卡... CPU: 运算器&#x…

自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践,本文将介绍一种基于注意力机制的CNN-BiGRU模型,并将其应用于实际项目中。我们将使用多条CSV数据样例&#xff0…

flask和Vue3的前后端数据传输

(一)基于flask,构建一个后端 后端就采用flask的一般构建方法,然后用 flask-restful 构建一个接口,接口返回为json数据。 datas [{id: 1, name: xag, 年龄: 18}, {id: 2, name: xingag, age: 19}]class UserView(Res…

Docker学习笔记25

Docker swarm 应用: 镜像准备: 参照Docker学习笔记13,创建centos-nginx:v1的镜像: [rootswarm-1 nginxtest]# docker build -t centos-nginx:v1 . [] Building 211.5s (12/13) [] Building 211.7s (12/13) [] Building 211.8s (…

【操作系统】PV操作模型总结

根本方法:行为所需资源、行为与行为前后关系的图分析法 1.0顺序执行模型 特点:(1)多进程之间的执行具有牵制性(2)每个进程执行内容不复杂,强调进程之间的执行顺序。 分析方法:有向图…

SpringBoot 如何使用 EmbeddedDatabaseBuilder 进行数据库集成测试

SpringBoot 如何使用 EmbeddedDatabaseBuilder 进行数据库集成测试 在开发 SpringBoot 应用程序时,我们通常需要与数据库进行交互。为了确保我们的应用程序在生产环境中可以正常工作,我们需要进行数据库集成测试,以测试我们的应用程序是否能…

Gof23设计模式之装饰者模式

1.概述 定义 指在不改变现有对象结构的情况下,动态地给对象增加一些职责(即增加其额外功能)的模式。 例子 我们先来看一个快餐店的例子。 快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加…

springmvc相关知识点记录

1、若依框架:v—haspermi条件写上就要保证内容包含在getinfo的列表里面,否则不显示按钮 2、当elmentui中只有一个input的时候,空值按enter键会刷新整个页面,需要在form标签中加上submit.native.prevent来阻止刷新页面 3、 spri…

VBA小工具:EXCEL如何批量给每行下面插入n个空行?

目录 1EXCEL本身的方法 2 VBA实现1: 2.1 粗糙代码 2.2 需要注意的问题 3 VBA实现2: 3.1 改进代码:根据用户自己先选中的区域,进行插入空行操作。 3.1.1 用户可在EXCEL里选中区域,而不是改VBA代码 3.1.2 自动识…

js逆向补环境-调试工具vscode与nodejs使用之无环境联调

目录 一、啊哈一、Nodejs安装1、nodejs最新版本的安装(windows)2、旧版nodejs更新成最新版本(windows)3、nodejs安装(linux) 二、vscode安装使用(windows)1、下载安装vscode2、vscode运行插件Code Runner安…

微信小程序视图层莫名出现”竖线“

写完视图层后&#xff0c;发现页面上莫名其妙的出现了一些“竖线”&#xff0c;如下图所示&#xff1a; 这段html代码是这样写的&#xff1a; <view class"other-des"><view class"section"><text class"section-num">{{cou…

Python实现PSO粒子群优化算法优化Catboost回归模型(CatBoostRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 PSO是粒子群优化算法&#xff08;Particle Swarm Optimization&#xff09;的英文缩写&#xff0c;是一…