问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗

C++语言 码拜 8年前 (2016-05-25) 1129次浏览
【问一下】“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗?
分别怎么样理解?
解决方案

2

两个堆是不同的。
堆内存,中的“堆”指的是内存分段,堆栈段的内存,一般可以认为是动态分配的内存。
堆排序,中的“堆”是指的是一种数据结构。是一种方法。

2

不一样啦~就像一个是分苹果问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗,另外一个是分苹果的方法~

2

引用:
Quote: 引用:

不一样啦~就像一个是分苹果问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗,另外一个是分苹果的方法~

栈和队列并称时,指进出顺序。栈是先进后出,队列是先进先出。
栈和堆并称时,也指进出顺序吗?堆又是什么进什么出呢?

从内存分配上说:你写程序定义了一个函数,这个函数你没有指明要放在哪里,由系统自动分配一个内存,假如你本人想把数据放在指定的内存位置中,这种方法就叫做堆。
假如从数据结构上说,栈是先进后出,堆是先进先出。
不知道你指哪一种问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗不许喷本人!

2

引用:
Quote: 引用:
Quote: 引用:

不一样啦~就像一个是分苹果问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗,另外一个是分苹果的方法~

栈和队列并称时,指进出顺序。栈是先进后出,队列是先进先出。
栈和堆并称时,也指进出顺序吗?堆又是什么进什么出呢?

从内存分配上说:你写程序定义了一个函数,这个函数你没有指明要放在哪里,由系统自动分配一个内存,假如你本人想把数据放在指定的内存位置中,这种方法就叫做堆。
假如从数据结构上说,栈是先进后出,堆是先进先出。
不知道你指哪一种问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗不许喷本人!

更正一下,数据结构上貌似只有栈的说法, 没有堆的说法。

2

堆,就是某种树状结构
其实,两个堆,含义是一样的
只是他们是远亲,
已经不太容易追踪他们的相似之处了

2

引用:

堆,就是某种树状结构
其实,两个堆,含义是一样的
只是他们是远亲,
已经不太容易追踪他们的相似之处了

。总感觉此堆非彼堆啊~

2

这必须追踪最初提出堆内存,概念的人,或资料
才能找到二者的联系
估计,很不好找

2

引用:

这必须追踪最初提出堆内存,概念的人,或资料
才能找到二者的联系
估计,很不好找

某数据结构书中定义堆:在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值.通常我们所说的堆的数据结构,是指二叉堆.堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆.
但是感觉在内存中一般都是“堆内存”三个字放在一块的,更注重是一种方法,可能逻辑结构和数据结构中又相似。所以本人又觉得您说的很对问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗

2

堆内存为什么叫堆内存,本人也不知道,但它的管理方式貌似是链表的原理;而栈内存这个好理解,原因是它的管理方式真的就是栈结构那种先进后出、后进先出的原理。
堆排序的堆本意是一堆特殊的树结构,堆排序就是利用堆结构的原理进行排序,其实就是常说的选择排序法。

2

不是
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是相似于链表。
堆(数据结构):堆可以被看成是一棵树,如:堆排序。
http://baike.baidu.com/link?url=qU5EoUg9GgH5MEMYROJXyZLKeZbbeOcsT6lHne4K4a68Em3Rb0WOJVrz6wA2PrEV

1

后一种堆,你可以理解为有规则的塔罗牌堆,一种数据结构!
前者的堆,你可以理解为一个仓库,专门为了放各种东西的,可大可小,甚至不可预测的大小。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明问一下“堆内存”中的“堆”和“堆排序”中的“堆”是一样的概念吗
喜欢 (0)
[1034331897@qq.com]
分享 (0)