
算法
mngyyu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法基础第一章
时间复杂度 不同常数时间的操作(加或寻址运算或位运算)运行时间不一样 选择排序 选择最小的数,放到数组的第一个位置 时间复杂度:C*N+C*(N-1)+C*(N-2)+…+C*1 O(N^2), 额外空间复杂度:O(1) 冒泡排序 两两比较并交换,直到无交换 时间复杂度:O(N^2), 额外空间复杂度:O(1) 插入排序 左边序列有序,右边新加入一个数,从右往左找到合适的位置插进去。 从0-0有序...原创 2019-07-07 20:27:15 · 132 阅读 · 0 评论 -
算法基础第二章O(N*logN)的排序
归并排序 先排序左边,再排序右边,最后通过一个辅助数组merge 利用master公式估计时间复杂度: T(N) = 2*T(N/2) + O(N) a = 2, b=2, d=1 时间复杂度为:O(N*logN),额外空间复杂度:O(N) 拓展: 小和问题 数组中求每个数左边比他小的数的和。 普通解法:O(N^2) 归并解法:在merge和sort的过程中发现左侧数比右侧数小就把 “小和”...原创 2019-07-09 18:09:04 · 409 阅读 · 0 评论