
算法
麦麦麦造
这个作者很懒,什么都没留下…
展开
-
排序算法系列——快速排序
什么是快速排序? 快速排序,顾名思义它排序的速度十分的快。 它快到什么程度呢? C语言标准库中的qsort函数就是使用快速排序实现的! 说到快速排序,离不开两个重要的概念: 递归 和 分治算法(Divide ans conquer, D&C)。 如果要讲清楚这两个概念,可以单独写两篇文章出来了。 因此这里不做深入,只简单介绍一下: 递归:重复调用自己的函数。一般由两个部分组成基线条件 和...原创 2019-12-10 23:12:49 · 222 阅读 · 0 评论 -
排序算法系列——冒泡排序
冒泡排序是是一种比较基础简单的算法。 它的原理是通过对比前后的元素大小,将较大的数换到后面的方式来实现排序 。 排序过程 举个例子: 假如现在有一个无序数组disorder_arr = [4,2,19,10,-1]。 第一步: 取第0个元素4,和第1个元素2 对比,发现4比2大。 第二步: 交换4与2的索引。 即第0个元素为2,第1个元素为4,disorder_arr =[2,4,19,10,-1...原创 2019-12-05 14:51:35 · 222 阅读 · 0 评论 -
排序算法系列——选择排序
什么是选择排序 选择排序可以说是众多排序算法中,最基础、最直观的一个算法了。 它的思想十分简单: 遍历列表,找出最小的一个数,记下索引 将最小的数添加到新的列表中,同时删除原数组中的数 重复第一步 排序过程 举个例子: 假如现在有一个无序数组disorder_arr = [4,2,19,10,-1],和一个空数组order_arr = [] 第一步: 遍历数组 找到disorder...原创 2019-12-03 12:34:13 · 258 阅读 · 0 评论