数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序
2021-07-03 05:05
标签:bre 个数 jsb 赋值 遍历 比较大小 思想 代码分析 整理 欢迎Star,本文的所有示例源码都在Github:https://github.com/AndroidHensen/Arithmetic 本篇内容包含 1、基本思想: 两个数比较大小,较大的数下沉,较小的数冒起来 2、实现步骤: 这张图就是将数字12,35,99,18,76竖起来 3、这张图模拟了冒泡排序的整个过程 1、程序优化: 2、实现口诀: 3、易犯错误: 1、我们从代码分析,可以知道有两个循环 2、那么就可以计算出各自复杂度 3、根据推导大O阶规则来进行推导 4、得到的冒泡排序的复杂度的大O表示法为 (1xn)+(n^2/2) ≈ n^2=O(n^2) 1、基本思想: 2、实现步骤: 1、注意点: 2、实现口诀: 3、易犯错误: 1、我们从代码分析,可以知道有两个循环 2、那么就可以计算出各自复杂度 3、复杂度的大O表示法为 (4xn)+(1x(n^2/2)) ≈ n^2=O(n^2) 1、基本思想: 2、实现步骤: 1、实现口诀: 2、易犯错误: 1、我们从代码分析,可以知道有两个循环 2、那么就可以计算出各自复杂度 3、复杂度的大O表示法为 (n)+(3x(n^2/2)) ≈ n^2=O(n^2) 1、基本思想: 2、实现步骤: 这张图就是将数字9,1,2,5,7,4,8,6,3,5,按分量(数的个数/2)进行分组,然后在各分组中进行插入排序 1、实现口诀: 2、易犯错误: 1、基本思想: 1、基本思想: 1、基本思想: 在学习基数排序之前,必须要知道桶排序,所以先简单的学习一下桶排序 1、基本思想: 1、基本思想: 数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序 标签:bre 个数 jsb 赋值 遍历 比较大小 思想 代码分析 整理 原文地址:https://www.cnblogs.com/wangfengxia/p/9626717.html
排序类型
时间复杂度
冒泡排序
O(n^2)
选择排序
O(n^2)
插入排序
O(n^2)
希尔排序
O(n^1.5)
堆排序
O(N*logN)
快速排序
O(N*logN)
归并排序
O(N*logN)
基数排序
O(d(n+r))
文章标题:数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序
文章链接:http://soscw.com/index.php/essay/101115.html