![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 76
AI_drag0n
这个作者很懒,什么都没留下…
展开
-
排序算法(一):选择排序算法及其优化分析
目录1.选择排序算法:2.选择排序的优化分析3.时间复杂度分析:3.1优化前3.2优化后4.空间复杂度分析:1.选择排序算法:选择排序是不稳定的算法:选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择,如果一个元...原创 2018-12-12 13:15:26 · 413 阅读 · 0 评论 -
排序算法(五):快速排序及其优化分析
1.快速排序算法快速排序算法:基于分治策略,通过 分类 + 递归 的方式对数组进行快速排序,一般选择每一部分的第一个元素作为基准元素。快速排序之所以快速,是因为相对于冒泡排序中对相邻元素进行比较,快速排序是设置基准值,通过跳跃式的交换将小于基准值和大于基准值的元素分成两部分,然后递归的重复该过程,直到排序结束。注:快速排序的算法有很多,我一直不求甚解。最后发现 挖坑 + 递归 的方式是比...原创 2019-04-02 20:32:16 · 510 阅读 · 0 评论 -
排序算法(四):希尔排序及其优化分析
目录1.希尔排序2.时间复杂度分析3.空间复杂度分析1.希尔排序希尔排序(Shell Sort):是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序。希尔排序是不稳定的算法,它满足稳定算法的定义。对于相同的两个数,可能由于分在不同的组中而导致它们的顺序发生变化。算法稳定性 -- 假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并...原创 2019-03-27 15:27:57 · 647 阅读 · 0 评论 -
排序算法(三):直接插入排序算法及其优化分析
目录1.直接插入排序:2.算法优化分析:3.时间复杂度分析:4.空间复杂度分析:1.直接插入排序:插入排序:就是将一个元素插入到一个排好序的有序数组中。具体怎么理解呢?对于一个包含N个数组的元素,他会从 [0,1] 区间开始插入排序,即将 1 插入到数组 {2} 的合适位置;接着从 [0,2] 区间开始排序,即将 4 插入到数组 {1,2}的合适位置。依次类推,总共执行...原创 2019-03-27 12:43:10 · 714 阅读 · 0 评论 -
遍历算法:递归思想
递归:先递推,再回归:方法定义中调用方法本身的现象。 -------------------------- 数学归纳法的思想注意事项:1.要有出口,否则就是死递归2.次数不能太多,否则就内存溢出3.构造方法不能递归使用案例分析:案例一:兔子问题(斐波那契数列) ----------------------------------- 前后两数的商无限接近于黄金分...原创 2018-12-18 15:21:27 · 400 阅读 · 0 评论 -
查找算法(一):二分查找算法
目录基本查找:二分查找算法:时间复杂度分析:空间复杂度分析:基本查找:数组不需要是否有序。但需要根据索引值,遍历数组。将数组中每个元素都与待查找值进行对比,是一种暴力查找方式。二分查找算法:又称折半查找。比较次数少,查找速度快,平均性能高。较基本查找相比效率要高很多。但前提是:数组有序。原理分析:以一个有序的升序数组为例,可以将待查找元素与数组中间位置的元...原创 2018-12-12 14:12:25 · 214 阅读 · 0 评论 -
排序算法(二):冒泡排序算法及其优化分析
目录1.冒泡排序算法:2.算法优化分析:2.1优化外层循环2.2优化内层循环2.3同时优化内层和外层循环3.时间复杂度分析:3.1优化前3.2优化后4.空间复杂度分析:1.冒泡排序算法:原理:以N个元素数组的升序为例。相邻元素两两比较,大的往后放,第一轮完毕,最大值出现在了最大索引处,即数组最右侧。每一轮都从头开始执行,总共执行 N-1 轮。代码书写...原创 2018-12-12 13:37:28 · 638 阅读 · 2 评论 -
排序算法(六):归并排序算法及其优化分析
1.归并排序算法将两个有序数列合并成一个有序数列称为归并......归并排序算法:将无序数组不断的等分成两份,直到分割成单位元素之后,再利用归并的思想,从下往上不断合并成有序数组的过程。主要分为两种:自底向上的归并排序和自上向下的归并排序。注意:归并排序过程中,需要开辟一个相同大小的临时空间来辅助归并排序的进行。对于两个有序数组是怎么合并到一起的呢?我们来看下面的过程:原始数组...原创 2019-04-03 23:18:11 · 453 阅读 · 0 评论