摘要: 首先介绍一下堆。**堆是优先队列的一种实现方式(使用完全二叉树来实现),而完全二叉树可以通过数组来存储,因此堆的底层是一个数组。**一个数组经过调整关键字顺序形成了堆。 堆排序的基本思路(以最大堆为例): (1)建堆。将数组进行多次调整形成一个堆。 (2)将堆顶元素移至数组末尾,剩余元素继续调整形成 阅读全文
posted @ 2020-11-25 23:46 归鸿唱晚 阅读(81) 评论(0) 推荐(0) 编辑
摘要: ##题目描述 给定一个数组a和数字k,找出a中第k大的数。 ##方法一:快排思想 找到一个枢轴,枢轴右边还有k-1个数即可。因为每次遍历只选择一边,因而降低了时间复杂度。 public class Main { public static int kthBiggest (int[]a,int k,i 阅读全文
posted @ 2020-11-25 23:39 归鸿唱晚 阅读(133) 评论(0) 推荐(0) 编辑