news 2026/3/30 6:44:07

数据结构—优先级队列(堆)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据结构—优先级队列(堆)

一.优先级队列的存储

优先级队列存储在一堆数组中,分为大堆和小堆,把二叉树按层序遍历得出的结果存储到优先级队列

二.堆的分类

堆是一颗完全二叉树,堆分为大根堆和小根堆,大根堆根结点比左右孩子结点都大,小根堆相反

三.性质

设i是数组下标

1.i = 0,是根结点

2.结点的双亲结点是(i - 1 )/ 2

3.(2 * i + 1)是左孩子结点,(2 * i + 2)是右孩子结点

四.代码实现

1.创建

此时默认建立的是小根堆,那么我们如何建立大根堆呢

我们需要重写比较器

但是这种方法不方便更改,那么我们可以用下面的方法

我们可以构建一个比较器生成大根堆

它的好处是如果需要生成小根堆,我们可以重新构建一个比较器将里面的参数换成这个比较器就可以了

2.功能

五.关于PriorityQueue使用时的注意事项:

1.PriorityQueue中放置的元素必须要能够⽐较⼤⼩,不能插⼊⽆法⽐较⼤⼩的对象,否则会抛出 ClassCastException异常

2. 不能插⼊null对象,否则会抛出NullPointerException

3. 没有容量限制,可以插⼊任意多个元素,其内部可以⾃动扩容

4. 插⼊和删除元素的时间复杂度为

5. PriorityQueue底层使⽤了堆数据结构

6. PriorityQueue默认情况下是⼩堆---即每次获取到的元素都是最⼩的元素

7.当调用grow(扩容)时,如果>64,1.5倍扩容,<64,2倍扩容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 5:39:45

Linly-Talker如何防止过度压缩导致音画不同步?

Linly-Talker如何防止过度压缩导致音画不同步&#xff1f; 在虚拟主播、AI客服和远程教学日益普及的今天&#xff0c;用户对数字人系统的期待早已超越“能说话”这一基础功能。人们希望看到的是一个口型自然、表情生动、反应及时的“类人”存在。然而&#xff0c;在实际运行中&…

作者头像 李华
网站建设 2026/3/27 20:48:41

Linly-Talker在机场导航服务中的多语言播报实验

Linly-Talker在机场导航服务中的多语言播报实验 在国际航班密集起降的大型枢纽机场&#xff0c;每天都有成千上万来自不同国家和语言背景的旅客穿梭于航站楼之间。当一位日本游客拖着行李站在岔路口&#xff0c;试图寻找登机口B7时&#xff1b;当一名说法语的家庭因航班延误而焦…

作者头像 李华
网站建设 2026/3/28 10:25:19

构建软件兼容性测试全覆盖体系的最佳实践

1 兼容性测试概述与价值定位 1.1 兼容性测试定义与范畴 兼容性测试是指验证软件产品在不同环境配置下能否正常运行的系统性测试活动。其测试范畴涵盖操作系统兼容性&#xff08;Windows各版本、macOS、Linux发行版等&#xff09;、浏览器兼容性&#xff08;Chrome、Firefox、…

作者头像 李华
网站建设 2026/3/23 17:16:45

Linly-Talker项目贡献者招募:你可以参与哪些模块?

Linly-Talker项目贡献者招募&#xff1a;你可以参与哪些模块&#xff1f; 在虚拟主播、AI客服、数字员工日益普及的今天&#xff0c;一个真正“能听、会说、有表情”的数字人系统&#xff0c;早已不再是科幻电影里的幻想。但要让一张静态照片变成能与你自然对话的智能体&#…

作者头像 李华
网站建设 2026/3/24 20:31:25

Linly-Talker云端部署最佳实践(Kubernetes+GPU节点)

Linly-Talker云端部署最佳实践&#xff08;KubernetesGPU节点&#xff09; 在虚拟主播、AI客服和智能教育等场景快速普及的今天&#xff0c;用户对“能说会动”的数字人不再只是好奇&#xff0c;而是期待真正自然、实时的交互体验。然而&#xff0c;一个集成了大模型、语音识别…

作者头像 李华
网站建设 2026/3/29 23:36:06

Hanzi Writer 是 javascript 免费开源库,根据汉字书写时按照笔画顺序的特征,可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字

官网&#xff1a;Hanzi Writer 文档&#xff1a;Hanzi Writer Hanzi Writer 是 javascript 免费开源库&#xff0c;根据汉字书写时按照笔画顺序的特征&#xff0c;可以播放正确笔画顺序的描边动画和练习测试。 支持简体字和繁体字。我基于这个库制作了汉字学习项目&#xff1…

作者头像 李华