摘要: 首先搞清楚 什么是优先队列,优先队列是一种数据结构,它与一般的队列先入先出的性质不同,它每次出队的是优先级最大的元素,当一个指定的优先级元素入队时,能够很快的把它排到队列中。看到这里,可以发现,优先队列其实就是堆排序方法的设计与实现。 堆 其实是一种完全二叉树,这个结构明显的好处是可以用数组来表示,不用指针来表示,这样我们可以省去很多不必要的麻烦。这里最大堆和最小堆的概念可以查看严蔚敏的数据结构神书。堆排序的过程大家可以再百度上寻找,这里也不详细介绍。 然后说一下优先队列,需要如下集中关键的操作。 (1)push():将元素插入到优先队列。 (2)top():返回优先级最高的元素.... 阅读全文
posted @ 2013-01-07 00:22 helloyu 阅读(1077) 评论(0) 推荐(0) 编辑