专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Java 大小根堆的实现

Heap是一种数据结构它是一个完全二叉树具有以下的特点:
96_1.png

  • Min-heap: 父节点的值小于或等于子节点的值;
  • Max-heap: 父节点的值大于或等于子节点的值;
public class minAndMaxheap {
    //大根堆和小根堆的实现
    //优先级队列默认是小根堆的实现
    static class MaxheapComparator implements Comparator<Integer> {
        @Override
        public int compare(Integer o1, Integer o2) {
            return o2-o1;
        }
    }

    public static void main(String[] args) {
        int[] arrForHeap = { 3, 5, 2, 7, 0, 1, 6, 4 };
        Queue<Integer> minHeap = new PriorityQueue<>();
        //大根堆实现
        Queue<Integer> maxHeap = new PriorityQueue<>(new MaxheapComparator());
        for (int i =0;i<arrForHeap.length;i++) {
            minHeap.add(arrForHeap[i]);
            maxHeap.add(arrForHeap[i]);
        }
        while (!minHeap.isEmpty()) {
            System.out.print(minHeap.poll()+" ");
        }
        System.out.println();
        while (!maxHeap.isEmpty()) {
            System.out.print(maxHeap.poll()+" ");
        }
    }
}
result:
0 1 2 3 4 5 6 7 
7 6 5 4 3 2 1 0 
Process finished with exit code 0

文章永久链接:https://tech.souyunku.com/48634

未经允许不得转载:搜云库技术团队 » Java 大小根堆的实现

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们