关于堆栈解释

2014-07-04 10:46:14 +08:00
 83f420984
百度百科解释堆栈:堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆,列队优先,先进后出;栈,后进先出

可能我理解的不对,不对的地方请指点,后面的要点开始,堆:先进后出;栈:后进先出,既然堆是先进后出,而又说栈是后进先出,那如何实现先进后出后进先出?有没有岐义?
7578 次点击
所在节点    程序员
47 条回复
S1ahs3r
2014-07-04 14:59:57 +08:00
内存中堆栈跟数据结构堆栈不太一样的,这个就算百度也能百度出结果
83f420984
2014-07-04 15:36:30 +08:00
@shoumu 我起初是在《JavaScript高级程序设计》里面看到'杙方法',然后搜索这个叫做'杙方法',就找到了百度百科的解释,所以才有了我的问题。
dadou
2014-07-04 16:57:00 +08:00
中文里,堆是堆,栈是栈,堆栈是栈。
yuankui
2014-07-04 18:02:36 +08:00
请不要把堆栈中的堆和栈分开好伐?

堆栈=stack
你说的先进先出应该是队列queue
堆是一种内存管理方式,没有先进先出,先进后出这一说,而且支持随机读写的。
krafttuc
2014-07-04 18:08:23 +08:00
「堆栈」这个词竟然这么流行!我觉得堆是堆,栈是栈。两个字放一起就有一股弄弄的乡土气息。即使楼上解释说「堆栈」指「栈」,还是无法接受啊。。。摔!
aisk
2014-07-04 18:18:29 +08:00
我去……我还以点错进了博客园
yukirock
2014-07-04 20:49:55 +08:00
從拓撲結構來說,堆是二叉樹,其中子節點的值恆小於母節點(極大堆),或反之(極小堆)。插入及取出值時會涉及堆旋轉操作,目的是滿足堆的性質。也可以直接用數組下標模 2 來表示堆的位置,Heapsort 就是這麼做的。

中文維基把 Heap 引導到 Priority Queue 是錯誤的。有用 Heap 實現 PQ 的,但就概念而言,二者不等同。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX