java面试
珍惜时间简单生活
这个作者很懒,什么都没留下…
展开
-
快速排序的核心思想和Java实现
算法步骤 1、从数列中挑出一个元素,称为 “基准”(pivot); 2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作; 3、递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序; 在每次的迭代(iteration)中,它...原创 2019-03-30 16:54:08 · 834 阅读 · 0 评论 -
大根堆和小根堆
大根堆和小根堆在排序和选择第K大的数中经常有用到。 在Java中是可以直接实现这两个中结构的,使用的优先队列 public class TIMU1 { //小根堆 public PriorityQueue<Integer> minHead = new PriorityQueue<>(new Comparator<Integer>() { ...原创 2019-03-27 19:13:17 · 2111 阅读 · 0 评论