+ -
当前位置:首页 → 问答吧 → 堆到底是什么?

堆到底是什么?

时间:2011-09-23

来源:互联网

堆 特指二叉堆吗?

作者: cpprogrammer   发布时间: 2011-09-23

不是特指二叉堆,所有可以快速合并两个集合,并保持原集合性质的数据结构,都可以叫做堆。比如左偏树、斐波那契堆

作者: litaoye   发布时间: 2011-09-23

引用 1 楼 litaoye 的回复:
不是特指二叉堆,所有可以快速合并两个集合,并保持原集合性质的数据结构,都可以叫做堆。比如左偏树、斐波那契堆

刚刚修改了问题,可是有回复了,改不了了。
具体问题明早再来说吧

作者: cpprogrammer   发布时间: 2011-09-23

引用 1 楼 litaoye 的回复:
不是特指二叉堆,所有可以快速合并两个集合,并保持原集合性质的数据结构,都可以叫做堆。比如左偏树、斐波那契堆

看看下面的哪个准确些:
(1)
(2)
我的理解是:根据(1)的定义,二叉堆实现它的效率是如此之高,所以以后我们在谈到堆的时候特制二叉堆。
是不是这样?

作者: cpprogrammer   发布时间: 2011-09-24

几个有堆的性质的数据结构,效率都很高,不逊于二叉堆,并且有各自的特点和优势。传说中的松散堆(详细我也不懂),获取最小的效率比二叉堆还要强。二叉堆只是其中很普通的一员,并不特别,因此提到堆的时候,应该是泛指这一类数据结构。

引用 3 楼 cpprogrammer 的回复:
我的理解是:根据(1)的定义,二叉堆实现它的效率是如此之高,所以以后我们在谈到堆的时候特制二叉堆。
是不是这样?

作者: litaoye   发布时间: 2011-09-24

引用 4 楼 litaoye 的回复:
几个有堆的性质的数据结构,效率都很高,不逊于二叉堆,并且有各自的特点和优势。传说中的松散堆(详细我也不懂),获取最小的效率比二叉堆还要强。二叉堆只是其中很普通的一员,并不特别,因此提到堆的时候,应该是泛指这一类数据结构。


引用 3 楼 cpprogrammer 的回复:
我的理解是:根据(1)的定义,二叉堆实现它的效率是如此之高,所以以后我们在谈到堆的时候特制二叉堆。
是不是这样?
……

说到最后,堆的基本结构还是指二叉树啊

作者: cpprogrammer   发布时间: 2011-09-24

热门下载

更多