数据结构
xin_xin666
这个作者很懒,什么都没留下…
展开
-
快排原理
快排原理讲解第一步,理解算法核心假设你有一堆横排的体重不一的萝卜,你想把它们按照重量从小到大进行排序。快排思路准备工作:0、如果最左边萝卜的下标>=最右右边萝卜下标,结束。(这就是我们的递归出口)1、把第一个萝卜挖出来备用。2、找两个工人一个叫A一个叫B,分别站在第一个萝卜(注意第一个萝卜的坑已经空了)和最后一个萝卜的位置。3、如果A和B相遇了,则执行6,否则继续执行4和5...原创 2019-02-27 11:33:53 · 2882 阅读 · 0 评论 -
冒泡法排序原理
1.冒泡核心思想每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置比如有五个数: 12, 35, 99, 18, 76, 从大到小排序, 对相邻的两位进行比较第一趟:第一次比较: 35, 12, 99, 18, 76第二次比较: 35, 99, 12, 18, 76第三次比较: 35, 99, 18, 12, 76第四次比较: 35, 99, 18, 76, 12经过...原创 2019-02-27 12:46:14 · 856 阅读 · 0 评论 -
直接选择排序原理
1.选择排序原理选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。理论上讲,选择排序可能也是平时排序一般...原创 2019-04-10 10:23:10 · 7440 阅读 · 1 评论 -
插入排序算法原理
插入排序1.概念插入排序,顾名思义其基本操作就是插入,不断把一个个元素插入到一个序列中,最终得到排序序列。为此只需维护好所构造序列的排序性质,最终就能自然得到结果。插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到...原创 2019-04-10 14:48:02 · 8651 阅读 · 0 评论 -
希尔排序——插入排序的优化
希尔排序1.概念希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。希尔排序是把记录按一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每...原创 2019-04-10 15:39:08 · 373 阅读 · 0 评论 -
归并排序原理
1.概念和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。...原创 2019-04-10 16:23:34 · 5565 阅读 · 0 评论