摘要:
private void buildHeap(int[] h) { int l = h.length; //这里需要从下向上调整,因为从上向下调整只能让最小值下到底端,只有从下向上调整可以让最大值上到顶端 //shiftDown需要递归,如果不递归,这里只能保证最大的元素在堆顶,但是不能保证子分支都 阅读全文
posted @ 2022-11-10 00:34
yanher
阅读(21)
评论(0)
推荐(0)
摘要:
堆是 完全二叉树, 不一定是满二叉树, 可以用数组存放(普通二叉树只能用带指针的链表) i 节点的父节点 下标为 i/2 , 子节点下标为 2i , 2i+1 , 二叉树高度或深度为 logN+1(计算机领域底数为2) 阅读全文
posted @ 2022-11-09 11:20
yanher
阅读(30)
评论(0)
推荐(0)
摘要:
PriorityQueue的底层实现是 堆, 默认为最小堆: PriorityQueue<Integer> q = new PriorityQueue<>(); 最大堆初始化: PriorityQueue<Integer> q = new PriorityQueue<>((o1, o2)->o2.c 阅读全文
posted @ 2022-11-08 20:12
yanher
阅读(24)
评论(0)
推荐(0)
摘要:
stack底层为数组, foreach和iterator迭代时遍历数组输出, public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializabl 阅读全文
posted @ 2022-11-06 08:30
yanher
阅读(92)
评论(0)
推荐(0)
摘要:
1. ArrayList[] result = new ArrayList[len]; 数组泛型类型erase, 不能定义泛型数组 2. Arrays.asList(result) 返回的不是ArrayList类型,而是一个内部类 所以需要用ArrayList包装 new ArrayList<>(A 阅读全文
posted @ 2022-11-01 23:22
yanher
阅读(154)
评论(0)
推荐(0)
浙公网安备 33010602011771号