算法总结
文章平均质量分 79
garypotter
这个作者很懒,什么都没留下…
展开
-
算法总结(1)冒泡排序
冒泡排序应该是排序算法中最简单易懂的一种排序算法了。 一.思路 将数据设想成竖立的,小的往上浮,大的往下沉。 正确的应该是小的在顶上,大的在底下。 从最底下的元素开始扫描,若发现两个相邻元素顺序错误,则交换。首先,比较a[n-1]和a[n-2],接着,a[n-2]和a[n-3],则在第一次循环完毕后,当前最小的元素被浮到了最顶上;同理,第二次又从最下面开原创 2016-04-02 12:21:39 · 358 阅读 · 0 评论 -
算法总结(2)直接插入排序
①直接插入排序 一.思路 每次循环都值对数组的一部分进行排序。算法从第二个位置开始,它总是假设在它之前的所有元素都是已经排好序的一群元素,在最开始,它只有一个元素,就是第一个元素。 后面的所有元素都依次往这个已经排好序的一群元素中插,使它还是一群排好序的元素。 元素插入的过程:既然前面是已经排好序的了,所以这个插入的元素只需要保存它的值,用这个值从最大的开始原创 2016-04-02 13:14:50 · 1121 阅读 · 0 评论 -
算法总结(3)选择排序
一.算法思路 总是选择在未排序的一群数中最小的数来放到已排序的那些数的后面,即把它放到未排序数的最前面,现在它成了已排序的一部分。 注意:已排序的那部分是全局的排序,就是说,他不会被冲中间插入,是全局排序,最终排序的前面那一部分,而不是像插入排序那样,可能与最终排序结果不太一样。 步骤:先是选出最小的一个元素与第一个位置的元素交换,接着,选出第二小的元素与第二个原创 2016-04-02 14:57:33 · 245 阅读 · 0 评论 -
算法总结(4)希尔排序(Shell排序)
已经总结了3种简单的基本排序算法,现在开始讲的是一些复杂,但是更高效,在数据量大时速度明显更快的一些排序算法,首先讲的是希尔排序。 一.算法思路 希尔排序又称为“缩小增量排序”,是一种插入排序类的算法。 考虑先排序部分原始数组,在它们至少局部有序的情况下去排序整个数组。子数组有序将比初始情况更接近整体有序的最好情况。 思路:选择第一个增量d1原创 2016-04-02 16:00:41 · 409 阅读 · 0 评论 -
算法总结(4)快速排序
在算法的评判中,速度绝对是很重要的一点,而接下来要说的这个排序算法,既然敢命名为快速排序,就必然有它的过人之处。 一.算法思路 原始数组被分为两个子数组,第一个数组小于等于某选定值(枢轴),第二个数组大于等于某选定值。重复分割。直到全部为一元数组。 快速排序的本质是递归的,它应用于数组每层分割的两个数组中,应用了分而治之的思想。 选择一个好的枢轴是很原创 2016-04-02 18:05:34 · 215 阅读 · 0 评论