摘要: 我们可以把任意优先队列变成一种排序方法。将所有元素插入一个查找最小元素的优先队列,然后再重复调用删除最小元素的操作来将它们按顺序删去。用无序数组实现的优先队列这么做相当于进行一次插入排序。用基于堆的优先队列这样做等同于哪种排序?一种全新的排序方法!下面我们就用堆来实现一种经典而优雅的排序算法——堆排... 阅读全文
posted @ 2015-11-23 12:34 是非猫 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 1.具体算法public class MaxPQ implements Iterable { private Key[] pq; //基于堆的完全二叉树 private int N; // 存储于pq[1.... 阅读全文
posted @ 2015-11-23 11:23 是非猫 阅读(923) 评论(0) 推荐(0) 编辑