优先队列和堆有什么区别?

学术版

堆是优先队列的一种实现
by Enstein @ 2018-10-17 16:02:10


@[Enstein](/space/show?uid=89044) dijkstra用堆优化和优先队列优化有区别?
by March_H @ 2018-10-17 16:04:00


没有
by Juanzhang @ 2018-10-17 16:04:32


堆优化的主要思想就是使用一个优先队列。。。
by Enstein @ 2018-10-17 16:06:39


@[March_H](/space/show?uid=92770) 你可以去了解一下数据结构的抽象层、理论层、实现层的概念
by Ebola @ 2018-10-17 16:22:55


@[小光](/space/show?uid=73934) %%%
by hellomath @ 2018-10-17 16:29:03


优先队列是一种抽象的数据结构…… 支持delete_min,push,decrease_key这些操作…… 二叉堆只是它的一种实现方式,如果你愿意你可以使用二项堆,配对堆,左偏树,斐波那契堆,平衡树,线段树,甚至是二进制分组的vector来实现一个**优先队列** 所以区别大了去了…… 只是因为stl的priority_queue底层使用的是一个堆实现的而已 就像stl的set用红黑树实现的,但是没人说红黑树就是set一样
by shadowice1984 @ 2018-10-17 16:30:36


@[小光](/space/show?uid=73934)
by shadowice1984 @ 2018-10-17 16:30:47


@[小光](/space/show?uid=73934) Orz
by tiger0132 @ 2018-10-17 16:39:29


@[shadowice1984](/space/show?uid=56384) thk
by Juanzhang @ 2018-10-17 16:40:25


|