- 博客(6)
- 收藏
- 关注
原创 算法[1]---排序---归并排序
归并排序思想:1.把长度为n的输入序列分成两个长度为n/2的子序列;2.对这两个子序列分别采用归并排序;3.将两个排序好的子序列合并成一个最终的排序序列。小结:平均时间复杂度O(nlogn);最好情况O(nlogn);最坏情况O(nlogn);空间复杂度O(n);占用额外内存;稳定性:稳定//归并排序入口 public static void mergerSort(int[] arra) { ...
2018-03-25 12:14:25 160
原创 算法[1]---排序---快速排序
快速排序思想:设数组为(1 0 4 6 0 7 9 3 4)其中最后一个4为划分值1.如果当前数(index)<划分值,小于区下一个数和当前数交换,小于区向右扩一个位置,index向后下一个数;2.如果当前数(index)=划分值,index++;3.如果当前数(index)>划分值,当前数和大于区的前一个数交换,大于区向左扩一个位置,index不动;小结:平均时间复杂度O(nlogn...
2018-03-24 23:58:09 161
原创 算法[1]---排序---插入排序
插入排序思想:设数组的长度为N(4,3,1,5,2)1.从第一个数开始往后看,遇到比前一个数的情况就可以向前插入2.查看刚刚插入的数是否比现阶段前面的数小,如小则继续向前插入3.例如:4前面无数,不动;3<4,3插入4前面,3前面无数,不动;1<4,1差在4的前面,1继续和3比较,1<3,1插在3的前面,1前无数,不动...小结:平均时间复杂度O(n^2);最好情况O(n);最坏...
2018-03-17 16:40:01 127
原创 算法[1]---排序---选择排序
选择排序思想:设数组的长度为N(4,3,1,5,2)1.从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置2.下一次从n-1个元素中选出最小/大的元素并放在最前/后位置3.以此类推,经过n-1次完成排序。小结:平均时间复杂度O(n^2);最好情况O(n^2);最坏情况O(n^2);空间复杂度O(1);占用内存,不占用额外内存;稳定性:不稳定 //通常解法 public static ...
2018-03-17 15:47:32 94
原创 算法[1]---排序---冒泡排序
冒泡排序思想:设数组的长度为N(4,3,1,5,2)1. 比较前后相邻的二个数据(4和3),如果前面数据大于后面的数据(4>3),就将这二个数据交换(3,4,1,5,2)。2. 这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3. N=N-1,如果N不为0就重复前面二步,否则排序完成。小结:平均时间复杂度O(n^2);最好情况O(n);最...
2018-03-17 12:26:38 128
原创 Linux应用总结[1]:自动删除n天前日志
boss让写个脚本定时删服务器上的日志,要求定时删掉,故上网看完前人的经验,自己也决定开始写博客的好习惯。。。1.删除文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;实例命令:find /.../log/ -mtime +30 -name "*.log" -exec rm -rf {} \;说明
2018-01-25 17:47:26 1233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人