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