摘要: 排序逻辑 构建大顶堆,将第一个元素和最后一个元素交换,然后在除去最后一个数的队列中构建大顶堆,然后再交换,直到大顶堆没有元素 排序之前必须直到二叉树的性质 长度为 n 的二叉树最后一个父亲节点为:n/2 第n个节点的左子节点:2n 第n个节点的右子节点:2n + 1 初始数据 调整为大顶堆 交换 再 阅读全文
posted @ 2020-07-21 21:59 布小星 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 排序逻辑 确认一个基准数,把比基准数大的放在右边,小的放在左边,递归下去实现排序 初始队列 第一轮 第二轮 代码示例 public static void quickSort(int[] arr,int start, int end){ if(start<end){ //以第一位为基准数 int s 阅读全文
posted @ 2020-07-21 16:47 布小星 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 排序逻辑 将一个队列递归均分为两个数组,再将两个数组按序归并为一个数组 初始队列 均分为两个队列 按序归并 代码示例(递归实现) /** * 归并排序: * 将一个数组递归均分为两个数组,再将两个数组归并为一个数组 * @param arr * @param start 数组范围 * @param 阅读全文
posted @ 2020-07-21 15:00 布小星 阅读(166) 评论(0) 推荐(0) 编辑