标签: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、基本思想:
排序类型 | 时间复杂度 |
---|---|
冒泡排序 | 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)) |
数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序
标签:bre 个数 jsb 赋值 遍历 比较大小 思想 代码分析 整理
原文地址:https://www.cnblogs.com/wangfengxia/p/9626717.html