数据结构【DS】树与二叉树的应用

哈夫曼树

  • 树的带权路径长度最小的二叉树
  • WPL = 路径长度【边数】 * 结点权值
  • n个叶结点的哈夫曼树共有 2n-1 个结点
  • 哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树
  • 对同一组权值,可能存在不同构的多棵哈夫曼树,但树的带权路径长度最小且唯一
  • 哈夫曼树不一定是完全二叉树

 

哈夫曼编码

  • 将字符频次作为字符结点权值,构造哈夫曼树,即可得哈夫曼编码,可用于数据压缩
    • 不同频次的字符也可能在相同的层
  • 前缀编码:没有一个编码是另一个编码的前缀
  • 固定长度编码:每个字符用相等长度的二进制位表示
    • 出现频次不同的字符一定在相同的层
  • 可变长度编码:允许对不同字符用不等长的二进制位表示

 

哈夫曼m叉树

  • 先补上权值为0结点,让序列凑可以构造m叉树的序列,每次挑最小m个去造树。

并查集

并查集的应用

  • 判断联通性,计算连通分量的个数
  • 判环

三要素:

  • 初始化:初始化并查集, 将所有数组元素初始化为-1
  • Find (S[],x):“查”, 找到元素x所属集合的根结点

Union (S[ ], root1, root2):“并”, 将两个集合合并为一个集合

  • 存储方式:
    • 逻辑:双亲表示法
    • 物理:数组

  • 时间复杂度:
    • find:
    • 总复杂度:n个元素多次Union

不考虑并查集的代码题

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

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

相关文章

Java贪吃蛇小游戏

Java贪吃蛇小游戏 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.LinkedList; import java.util.Random;publi…

C语言——操作符详解

前言:这篇文章主要讲解一下C语言中常见的操作符的使用,做一下整理,便于日后回顾,同时也希望能帮助到大家。 🎬个人简介:努力学习ing 📝CSDN主页 愚润求学 🌄每日鸡汤:念…

大数据的技术运用:探索未来的无限可能性

随着科技的不断进步和社会信息的快速增长,大数据已成为一个热门话题。本文将探讨大数据技术在多个领域的应用,以及它对未来的影响和无限可能性。 导言 在过去的几十年里,大数据技术取得了惊人的发展,它不仅改变了企业的经营方式&a…

数据中心标签的重要性

布线标签的实施是为了为用户今后的维护和管理带来最大的 便利,提高其管理水平和工作效率,减少网络配置时间,标签标识系统包括三个方面:标识分类及定义,标签和建立文档。 标签、标识的分类有哪些? 数据中心内的每一电缆、光缆、配线设备、端…

解决网络编程中的EOF违反协议问题:requests库与SSL错误案例分析

1. 问题背景 近期,一个用户在使用requests库进行网络编程时遭遇到了一个不寻常的问题,涉及SSL错误,并提示错误消息为SSLError(SSLEOFError(8, uEOF occurred in violation of protocol (_ssl.c:661)),))。该用户表示已经采取了多种方法来解决…

109.firefly-extboot的生成脚本

内核版本: 4.4.194 在firefly的sdk 2.5.1c及以后的版本都是extboot.img(对应表中的extboot) 但是之前的并不是,而且一个boot.img,(对应表中rkboot) rkboot的生成方法可以参考解决linux5.15编…

解决 vite 4 开发环境和生产环境打包后空白、配置axios跨域、nginx代理本地后端接口问题

1、解决打包本地无法访问空白 首先是pnpm build 打包后直接在dist访问,是访问不了的,需要开启服务 终端输入 npm install -g serve 然后再输入 serve -s dist 就可以访问了 但要保证 路由模式是:createWebHashHistory 和vite.conffig.j…

【MySQL】MVCC(多版本并发控制)详解

MVCC MVCC概述 MVCC,全称 Multi-Version Concurrency Control ,即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC就是在ReadCommitte…

车载通信架构 —— 新车载总线类型下(以太网)的通信架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

HTTP四种请求方式,状态码,请求和响应报文

1.get请求 一般用于获取数据请求参数在URL后面请求参数的大小有限制 2.post请求 一般用于修改数据提交的数据在请求体中提交数据的大小没有限制 3.put请求 一般用于添加数据 4.delete请求 一般用于删除数据 5.一次完整的http请求过程 域名解析:使用DNS协议…

如何进行手动脱壳

脱壳的目的就是找到被隐藏起来的OEP(入口点) 这里我一共总结了三种方法,都是些自己的理解希望对你们有用 单步跟踪法 一个程序加了壳后,我们需要找到真正的OEP入口点,先运行,找到假的OEP入口点后&#x…

SSD主控

《深入浅出SSD》学习中… 文章目录 《深入浅出SSD》学习中.....一、SSD主控二、PCIe和NVMe控制器前端子系统1.PCIe控制器2.NVMe控制器 一、SSD主控 就是类似电脑CPU的东西,在SSD中收取处理Host端的命令,管理NAND闪存 二、PCIe和NVMe控制器前端子系统 主…

深度学习之基于CT影像图像分割检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于CT影像的图像分割检测系统可以被设计成能够自动地检测出CT图像中的病变部位或解剖结构,以协助医生进…

4种经典的限流算法与集群限流

0、基础知识 1000毫秒内,允许2个请求,其他请求全部拒绝。 不拒绝就可能往db打请求,把db干爆~ interval 1000 rate 2; 一、固定窗口限流 固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是…

自定义歌曲试听SeekBar

看到这个效果,可能会想到完全自定义一个控件,其实我们在系统Seekbar的基础上,将progressDrawable中progress背景设为透明后,叠加绘制试听状态下的进度区域即可 class PlayerSeekBar JvmOverloads constructor(context: Context,a…

等级保护建设全流程

等保,全称为信息安全等级保护,是对信息和信息载体按照重要性等级分级进行保护的一种工作。 企业的信息系统有收集、储存用户信息的,都需要进行等保建设,以此来整改提升系统的安全防护能力,降低被攻击的风险。若不然一旦…

全志R128内存泄漏调试案例

内存泄露调试案例 问题背景 硬件:R128 软件:FreeRTOS rtplayer_test(Cedarx) AudioSystem 问题复现 复现步骤: rtplayer_test /data/boot.mp3串口输入"l", 循环播放串口输入"b" , 播放器后台执行 具体表现 rtpla…

Re50:读论文 Large Language Models Struggle to Learn Long-Tail Knowledge

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称:Large Language Models Struggle to Learn Long-Tail Knowledge ArXiv网址:https://arxiv.org/abs/2211.08411 官方GitHub项目(代码和实体)&#xf…

找不到msvcp110.dll怎么办,msvcp110.dll丢失的修复方法

您可能已经碰见过这样的情况,当您试图打开某个软件时,屏幕上突然跳出一个提示窗口,告诉您 “找不到msvcp110.dll”,“msvcp110.dll丢失”。遇到这种情况是不是让人很焦头烂额呀?别担心,接下来我就为您提供几…

【EI会议征稿】第三届能源利用与自动化国际学术会议(ICEUA 2024)

第三届能源利用与自动化国际学术会议(ICEUA 2024) 2024 3rd International Conference on Energy Utilization and Automation (ICEUA 2024) 2024年第三届能源利用与自动化国际学术会议(ICEUA 2024)将于2024年3月15-17日在中国武汉…