![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
gill_guoli
这个作者很懒,什么都没留下…
展开
-
排序算法及实现 - 冒泡排序
冒泡算法比较相邻的元素,若第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。数组由有序区间和无序区间组成。排序前,有序区间的长度为0;排序后,无序区间的长度为0。package mainim...原创 2019-09-16 15:48:09 · 102 阅读 · 0 评论 -
排序算法及实现 - 堆排序
堆排序参考:https://www.cnblogs.com/chengxiao/p/6129630.htmlpackage mainimport( "fmt")// 构建堆func build_heap(data_list []int, i int, length int){ tmp := data_list[i] for k := ...原创 2019-09-16 16:53:34 · 159 阅读 · 0 评论 -
排序算法及实现 - 快速排序
快速排序快速排序的基本思想:从一个数组中任意挑选一个元素(通常来说会选择最左边的元素)作为中轴元素,将剩下的元素以中轴元素作为比较的标准,将小于等于中轴元素的放到中轴元素的左边,将大于中轴元素的放到中轴元素的右边。然后以当前中轴元素的位置为界,将左半部分子数组和右半部分子数组看成两个新的数组,重复上述操作,直到子数组的元素个数小于等于1(因为一个元素的数组必定是有序的)。具体算法描述如下:1...原创 2019-09-22 12:20:18 · 141 阅读 · 0 评论