随笔分类 -  八大基本排序

桶排序思想与高频面试题---相邻两数最大插值(maxGap)
摘要:高频面试题: 比如:3 1 6 2 7 排序后是: 这道题目借用了桶这个概念,但是没有进行桶排序 N个数准备N+1个桶 中间的数字:把min到max范围等分成N+1份,一个数属于哪号范围,就放到哪个桶里 例如: 排序之后的相邻数字可能在同一个桶,也可能在相邻的桶 15的相邻值,可能来自于11(同一个 阅读全文
posted @ 2019-05-13 21:30 源格 阅读(834) 评论(0) 推荐(0)
八大基本排序---堆排序、堆结构
摘要:堆排序很重要,但是更重要的是堆这个结构 堆结构:实际上是一棵完全二叉树 一个数组可以根据父结点、左子结点、右子结点的关系,脑补出一棵完全二叉树 算法1:一个数组变为大顶堆 heapInsert() 数组:2、1、3、6、0、4 (1)只有2的时候 (2) 2、1【认为完全二叉树的范围是0~1的,超过1就越界】 (3)2、1、3 3(下标2)找到自己的父结点:(2-1)/2=0 此时不满... 阅读全文
posted @ 2019-05-07 22:38 源格 阅读(468) 评论(0) 推荐(0)
八大基本排序---快速排序(经典快排、随机快排)(荷兰国旗问题)
摘要:引言: 解答: 需要准备3个下标 如果当前数字=num,cur跳下一个 如果数组中的当前数字num,把这个数(7)和大于区域的前一个数(x)交换 然后大于区域向左扩一个位置,more移动一下 然后让cur停留在原地,继续考察换过来的x跟num的大小关系 当cur == more的时候,整个过程停止 public class Code_08_NetherlandsFlag { ... 阅读全文
posted @ 2019-05-06 15:10 源格 阅读(317) 评论(0) 推荐(0)