社区
C#
帖子详情
队列是不是就是堆?
heng_net
2004-11-20 09:26:10
可以详细说说吗?谢谢先!
什么是堆?
队列?
栈?
堆栈?
...全文
218
6
打赏
收藏
队列是不是就是堆?
可以详细说说吗?谢谢先! 什么是堆? 队列? 栈? 堆栈?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wdxinren
2004-11-21
打赏
举报
回复
我觉得堆栈一般就是指的是栈
heng_net
2004-11-21
打赏
举报
回复
堆是不是也是先进先出.那不是跟队列没什么区别?
不知道我说的对吗?
tiger999
2004-11-21
打赏
举报
回复
to zag:
队列则是一个先进先出的数据结构,只能顺序提取,???
那优先队列是不是先进先出的呢?
dazhu2
2004-11-20
打赏
举报
回复
zag(智格) 说完了,呵
nuaalfm
2004-11-20
打赏
举报
回复
讲的还是不错的
zag
2004-11-20
打赏
举报
回复
1
堆是一个存储数据的数据结构,其主要用于存储较大的复杂结构数据,其通过指针的方式来定位数据的段页,可进行随机存取。队列则是一个先进先出的数据结构,只能顺序提取,栈则是一个先进后出的数据结构,也只能顺序提取,形象的说,堆有点象口袋,队列有点像管道,栈则有点象弹夹。堆栈嘛,则经常用来表示堆与栈的合称,当然,也作为堆栈合用存取数据的合称,个人理解。可能有些错误之外,望见谅。
优先
队列
的实现,是
队列
还是
堆
?
从数据结构的角度来说,优先
队列
通常使用
堆
来实现,是一种特殊的
队列
,元素按照优先级顺序出队,而不是按照先进先出的顺序出队。与普通
队列
不同的是,优先
队列
在插入元素时,会按照一定的优先级顺序将元素插入到
队列
中,而在弹出元素时,总是先弹出优先级最高的元素。实际上,优先
队列
就是基于
堆
实现的,可以将
堆
看作一种特殊的优先
队列
。总之,优先
队列
的底层实现不一定是
堆
,但是
堆
是实现优先
队列
的最常用的方式,因为
堆
具有较好的时间复杂度和空间复杂度。优先
队列
的底层实现是
堆
(Heap),但是从功能上来看,它可以被看作一种
队列
。
java优先
队列
出队,如何实现优先
队列
?Java使用数组实现最小
堆
和优先
队列
一、什么是优先
队列
?和普通
队列
有什么区别?优先
队列
就是一个元素带有权值(priority)的
队列
,这个权值又叫做优先级,入队和普通
队列
一样入队,出队按照权值的大小进行优先出队。权值最小的元素先出队的叫做最小优先
队列
,权值最大的元素先出队的叫做最大优先
队列
。二、优先
队列
和
堆
有什么关系?优先
队列
就是
堆
吗?优先
队列
和
堆
是不一样的数据结构,但是它们的概念相似,
堆
主要就是用来实现优先
队列
的,相近的分类有最小...
Java实现优先级
队列
--
堆
目录 1.优先级
队列
和
堆
的概念 2.优先级
队列
的实现 1.优先级
队列
和
堆
的概念 1.1.什么是优先级
队列
?? 我们都学过
队列
,
队列
是一种先进先出的数据结构,但有些情况下,操作的数据可能带有优先级,一般出
队列
时,可能需要优先级高的元素先出
队列
,这就是优先级
队列
。比如有时候我们在打游戏的时候,别人打电话给你,那么系统一定是先处理打进来的电话。 1.2.什么是
堆
?? 简言之,
堆
其实就是一棵完全二叉树,它的底层是一个数组,数组中存储这棵完全二叉树层序遍历的结果,按种类分,它又分为大根
堆
和小根
堆
,请看下
优先级
队列
(
堆
)
JDK1.8中的PriorityQueue底层使用了
堆
这种数据结构,而
堆
实际就是在完全二叉树的基础上进行了一些调整如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一 个一维数组中,并满足:Ki = K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为 小
堆
(或大
堆
)。将根节点最大的
堆
叫做最大
堆
或大根
堆
,根节点最小的
堆
叫做最小
堆
或小根
堆
从
堆
的概念可知,
堆
是一棵完全二叉树,因此可以层序的规则采用顺序的方式来高效存储,注意:对
优先
队列
(priority queue)
目录 一,优先
队列
二,二叉
堆
实现优先
队列
三,二项
堆
实现优先
队列
一,优先
队列
优先
队列
可以插入元素、查询最大值、删除最大值。 优先
队列
其实就是最大
堆
或最小
堆
,最大
堆
可以用来实现最大优先
队列
,最小
堆
可以用来实现最小优先
队列
。 用各种
堆
都可以实现优先
队列
。 二,二叉
堆
实现优先
队列
二叉
堆
:https://blog.csdn.net/nameofcsdn/article/details/113484808 最大优先
队列
: #include<iostream> #i.
C#
111,119
社区成员
642,555
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章