什么是算法
书籍推荐
《数据结构与算法分析》
- 表、栈和队列
- 树
- 散列(hash)
- 优先队列(堆)
- 排序
定义 问题
遇到思路障碍怎么办?
1.将抽象问题转换为具体的问题
2.将没见过的问题转换为见过的问题
冒泡排序
选择排序
说明:这样做其实就是每次在没排的这一堆里面找到最小的那个,然后推到前面去。
总结冒泡和选择排序的时间损耗是一样的
插入排序
归并排序
可能会有堆栈溢出
快速排序
自私排序:比我矮的站我前面,比我高的站我后面。
随机快排
比较次数的对比
冒泡:19 18 17 ...
快排: 17 9 9 3 3 3...对半程序员3大难题
1.变量命名
2.循环边界
3.缓存失效
桶排法
基数排序
- 时间复杂度
n^2
n*logn
n + max