优先队列
来源:互联网 发布:wifi满信号网络特别慢 编辑:程序博客网 时间:2024/06/06 04:06
一、基于堆的优先队列:
public class MaxPQ<Key extends Comparable<Key>>{private int N = 0;private Key[] pq;public MaxPQ(int maxN){pq = (Key[])new Comparable[maxN+1];}public boolean isEmpty(){return N == 0;}public int size(){return N;}public void insert(Key v){pq[++N] = v;swim(N);}public Key delMax(){Key max = pq[1];exch(1, N--);pq[N + 1] = null;sink(1);return max;}private boolean less(int i, int j){return pq[i].compareTo(pq[j]) < 0;}private void exch(int i, int j){Key t = pq[i];pq[i] = pq[j];pq[j] = t;return;}private void swim(int k){while (k > 1 && less(k/2,k)){exch(k, k/2);k = k/2;}}private void sink(int k){while (2*k <= N){int j = 2 * k;if (j < N && less(j, j + 1)) j++;if (!less(k, j)) break;exch(k,j);k = j;}}}
0 0
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- 优先队列
- Java复习之字符串流
- 自定义UINavgationBar的高度
- Rancher 容器实战分享季之杭州站精彩回顾
- 初学python:边学边练,定义函数
- C语言基础进阶之 MessageBox()用法简介
- 优先队列
- RestTemplate中使用ParameterizedTypeReference参数化类型支持泛型,主要是List
- Hadoop实战(五) 高阶MapReduce
- Linux系统用户管理
- IntelliJ IDEA启动Tomcat后,却无法访问Tomcat主页
- tomcat里的webapps发布的文件名称和项目名称不一样
- JEPF表单设计
- c# int 和 string相互转换
- 496. Next Greater Element I