常用算法简析(附时间复杂度)
2020-06-29 17:01
155 查看
冒泡排序
- 比较相邻的元素,如果前一个比后一个大,交换之。
- 第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。
- 第二趟将第二大的数移动至倒数第二位
- ......
- 因此需要n-1趟;
时间复杂度:O(n²)
希尔排序
- 选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1;
- 按增量序列个数 k,对序列进行 k 趟排序;
- 每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1 时,整个序列作为一个表来处理,表长度即为整个序列的长度。
时间复杂度:O( )
快速排序
- 先从数列中取出一个数作为基准数。
- 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
- 再对左右区间重复第二步,直到各区间只有一个数。
时间复杂度:O(N*logN)
相关文章推荐
- 常用的算法的时间复杂度和空间复杂度
- 常用的算法的时间复杂度和空间复杂度(z)
- 常用算法时间复杂度和空间复杂度表
- 算法常用的时间复杂度(log(n),sqrt(x),n,n*log(n),n^2,n^3,2^n)的函数坐标图
- 数据结构 常用的算法的时间复杂度和空间复杂度
- php 常用算法和时间复杂度
- 常用算法和时间复杂度(php)
- 常用排序算法的时间和空间复杂度及算法时间复杂度的简单计算
- java 常用算法和时间复杂度
- 常用算法和时间复杂度(php)
- python常用的数据结构及算法————时间复杂度
- 数据结构基础篇(3)--算法时间复杂度的常用算法
- 常用的算法的时间复杂度和空间复杂度
- 常用的算法时间复杂度和空间复杂度
- 算法分析之时间复杂度与空间复杂度
- 算法的时间复杂度与空间复杂度
- 算法的时间复杂度
- 常用的时间复杂度排序
- 算法的时间复杂度和空间复杂度
- 算法的时间复杂度(一)