![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
算法是程序的灵魂,也是程序员必备的硬性技能。
人生哪有不迷茫
踏踏实实做事,老老实实做人
展开
-
插入排序
什么是插入排序?插入排序(Insertion Sort)是一种简单有效的比较排序算法,属于原地排序。其核心思想是:在每次迭代过程中从输入序列中取出一个元素插入到一个有序序列中,形成新的有序序列。重复该过程,直到序列中所有元素都被取出。解析:输入序列:就是要排序的一组元素 现在我把它称为N。有序序列:输入序列的一部分,该部分是有序的(升序或降序) 称为M。如...原创 2018-08-04 18:02:10 · 7240 阅读 · 0 评论 -
快速排序
简单介绍下 快速排序是比较排序的一种,其核心思想是在序列中随便找一个数为基准数,首先从右向左遍历,找到比基准数小的数,定位在当前索引(设为 j),再从左向右遍历,找到比基准数大的数,定位索引(设为i),交换索引 j 和索引 i 指向的值。这时右边从 j 开始,左边从 i 开始,重复上诉步骤,直到 i = j。基准值与索引i指向的值交换。再次递归调用。不会画图,太费劲了,上代码吧。...原创 2018-08-06 15:24:34 · 209 阅读 · 0 评论 -
冒泡排序
什么是排序?排序是按照某种顺序(升序或降序)排列序列元素的一种算法。排序的输出是输入的排列或重新排列。例如:还记得上学时的第一次出操吗?先开始都是毫无顺序的站在自己班级的一排上(排序的输入),等到老师来了,就会让我们按照个头高低顺序排列(对排序的输入采用升序或降序)。如何按个头从低到高(升序)或从高到低(降序)的排列学生?1. 学生们自己和后面同学比较,谁个头高站在后面,逐个相互比...原创 2018-08-03 10:36:11 · 377 阅读 · 0 评论 -
选择排序
概念:选择排序是一种原地排序(in-place)算法。在一组元素中,规定(你的规定就是选择)在某一索引上的元素和其后面的相比是最大的值或最小的值。所需的操作只在需要时才执行。算法核心:(有升序和降序两种排序,这里选择升序排序)1. 从当前索引向后寻找最小值。2. 用当前索引的元素和最小值交换。3. 重复执行1.2。图解:给定一个序列: 6 8 1 4 5 3 7 2...原创 2018-08-03 15:57:03 · 191 阅读 · 0 评论