社区
C#
帖子详情
队列是不是就是堆?
heng_net
2004-11-20 09:26:10
可以详细说说吗?谢谢先!
什么是堆?
队列?
栈?
堆栈?
...全文
249
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
堆是一个存储数据的数据结构,其主要用于存储较大的复杂结构数据,其通过指针的方式来定位数据的段页,可进行随机存取。队列则是一个先进先出的数据结构,只能顺序提取,栈则是一个先进后出的数据结构,也只能顺序提取,形象的说,堆有点象口袋,队列有点像管道,栈则有点象弹夹。堆栈嘛,则经常用来表示堆与栈的合称,当然,也作为堆栈合用存取数据的合称,个人理解。可能有些错误之外,望见谅。
优先级
队列
和
堆
的介绍
优先级
队列
和
堆
详解
优先级
队列
(
堆
)
JDK1.8中的PriorityQueue底层使用了
堆
这种数据结构,而
堆
实际就是在完全二叉树的基础上进行了一些调整如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一 个一维数组中,并满足:Ki = K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为 小
堆
(或大
堆
)。将根节点最大的
堆
叫做最大
堆
或大根
堆
,根节点最小的
堆
叫做最小
堆
或小根
堆
从
堆
的概念可知,
堆
是一棵完全二叉树,因此可以层序的规则采用顺序的方式来高效存储,注意:对
优先
队列
(
堆
)
(
堆
)二叉
堆
定义 :
堆
是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。
堆
序性质 : 任意节点应该小于它的所有后裔。 时间复杂度 : 查找最小值的时间为常数O(1) 完全二叉树的数组实现 : 对于任一位置i上的元素,其左儿子在位置2i上,右儿子在左儿子后的单元(2i+1)中,它的父亲在位置i/2向下取整上。只是最大的
堆
大小要事先估计。 基本操作 : insert(...
堆
、栈、
队列
的区别和联系
数据结构中的
堆
、栈和
队列
堆
:
堆
是一种经过排序的树形数据结构,每个结点都有一个值。通常我们所说的
堆
的数据结构,是指二叉
堆
。
堆
的特点是根结点的值最小(或最大),且根结点的两个子树也是一个
堆
。由于
堆
的这个特性,常用来实现优先
队列
,
堆
的存取是随意,这就如同我们在图书馆的书架上取书,虽然书的摆放是有顺序的,但是我们想取任意一本时不必像栈一样,先取出前面所有的书,书架这种机制不同于箱子,我们可以直接取出我们想要的书。 栈:又名
堆
栈,是一种运算受限的线性表。只允许在栈顶插入和删除元素。栈顶是低位,栈底是高位。栈中没
最大
堆
与最小
堆
与优先
队列
堆
的定义及其实现 最小
堆
:最小
堆
是一个关键码序列{ K0,K1,...Kn-1},它具有如下特性: Ki ≤K2i+1 Ki≤K2i十2 类似可以定义最大
堆
堆
的性质 可以看出是完全二叉树
堆
中的数据是局部有序的,
堆
不唯一 兄弟节点之间没有限制 从逻辑结构来看
堆
实际上是树形结构 最小
堆
的类定义(ADT) template <class T> class MinHeap {...
C#
111,128
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章