排序算法
文章平均质量分 50
路过你的全世界
这个作者很懒,什么都没留下…
展开
-
排序之折半插入排序
二分查找(折半插入)排序属于插入类排序的一种,可以说是直接插入排序的一种改进版:主要改进在查找插入位置上节省了时间。直接插入排序需要依次在有序的序列里进行比较,较大值右移一直到找到合适的位置进行插入。二分查找排序节省了查找的时间。对于一个有序的序列来说,采用二分查找的方式来找到插入点比直接便利比较所费的时间少。使用二分查找排序找到插入点之后,依次后移插入点之后的数据,然后将要插入的值放进去,完成原创 2017-07-11 14:05:15 · 371 阅读 · 0 评论 -
排序之直接插入排序
直接插入排序简介直接插入排序最适合的场景如下:对于一个有序的序列来说,当我们将另外一个数字添加到该有序序列中的时候,依次从该序列的右边开始比较,如果要插入的值小于序列中当前位置的值,那么序列中该位置的值后移一位,以此类推,直到找到第一个不大于要插入的数值为止,最后将要插入的这个数值插入到合适位置,这就完成了一次直接插入排序的过程。对于无序数列来说,我们知道要插入的第i个数据之前的前i-1个数据都是有原创 2017-07-12 13:30:29 · 804 阅读 · 0 评论 -
排序之快速排序
快速排序思想快速排序简称“快排”,快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。之后递归快速排序基准值的两侧,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成原创 2017-07-07 13:46:21 · 317 阅读 · 0 评论 -
排序之冒泡排序
冒泡排序思想对于一个数字序列来说,我们可以依次比较相邻的两项数字,假如相邻的两项分别记为A和B。如果A的值大于B,那么进行A、B之间顺序的交换,将较大值移到后面。之后再用第二个值与第三个值进行比较,将较大的值放到后面,以此类推。原创 2017-07-08 13:50:09 · 438 阅读 · 0 评论 -
排序算法之归并排序
归并排序的含义归并排序的含义可以分为两个部分:先递归下去,之后再两两合并,最后就是排序好的整体序列了。 具体思路:首先将整体序列分为两部分,之后对每个部分再次进行二分,循环前述的这些操作。直到两两分组之后的结果都为一个数字,之后比较两个数字的大小进行排序。成为一个排序好的小序列,之后和相邻的小序列再次合并,直到将所有的子序列合并完成,最终成为整体有序序列。原创 2017-09-03 14:38:35 · 320 阅读 · 0 评论