# 冒泡排序:
思路:
* 比较相邻元素,如果第一个比第一个大,那么交换
* 一轮下来,保证最后一个是最大的
* n-1轮下来,完成排序
复杂度:O(n2)
![](https://img.kancloud.cn/00/c3/00c3ee44879bbb21f4266b41f93295f5_1148x626.png)
# 选择排序
* 找到最小的放第一位
* 找到第二小的放第二位
* 执行n-1轮
复杂度:O(n2)
![](https://img.kancloud.cn/4c/e8/4ce831e38cdae2f357f79aa14e46f078_982x740.png)
# 快排
* 选数组一个任意值为参考(基准),比他大的放右边,比他小放左边
* 递归基准前后对进行相同操作
![](https://img.kancloud.cn/48/b8/48b84399d00596e9aeecf4b9d4b49485_1392x1074.png)
O(n * logn)
- 前言
- 工作中的一些记录
- 破解快手直播间的webSocket的连接
- 快手「反」反爬虫的研究记录
- HTML AND CSS
- 遇到的一些还行的css笔试题
- css常见面试题
- JavaScript 深度剖析
- ES6到ESNext新特性
- 关于http与缓存
- 关于页面性能
- 关于浏览器的重排(reflow、layout)与重绘
- 手写函数节流
- 手写promise
- 手写函数防抖
- 手写图片懒加载
- 手写jsonp
- 手写深拷贝
- 手写new
- 数据结构和算法
- 前言
- 时间复杂度
- 栈
- 队列
- 集合
- 字典
- 链表
- 树
- 图
- 堆
- 排序
- 搜索
- Webpack
- Webpack原理与实践
- Vue
- Vuejs的Virtual Dom的源码实现
- minVue
- Vuex实现原理
- 一道关于diff算法的面试题
- Vue2源码笔记:源码目录设计
- vue-router源码分析(v4.x)
- React及周边
- 深入理解redux(一步步实现一个 redux)
- React常见面试题汇总
- Taro、小程序等
- TypeScript
- CI/CD
- docker踩坑笔记
- jenkins
- 最后