数据结构和算法
fighterGuy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
希尔排序
希尔排序:排序时间大Obiao表示预估为O(N^(3/2)) 到 O(N^(7/6)) 30万数据耗时: 1276 代码如下: private long[] longArr; private int nElems; public ShellSort(int size) { longArr = new long[size]; nEle...原创 2018-09-03 11:24:15 · 230 阅读 · 0 评论 -
归并排序
归并排序: 效率高,会占用内存空间,在排序阶段会生成与排序数组相同大小的数组(内存充足随便用) 大O表示:Nlog2(N) 与 简单排序(O(N^2))相比,数据越大,效率相差越大 30万时间:57 ms 简单排序见 https://blog.youkuaiyun.com/fighterGuy/article/details/81707108 /归并排序 即二分排序和递归的结合体 public c...原创 2018-08-29 10:22:20 · 244 阅读 · 0 评论 -
几种简单排序算法
最近对java数据结构和算法的一些编程和总结,以博客形式开始记录: 一、冒泡排序: /** * * 冒泡排序,两个相邻的比较大小 1、右侧为最大 2、左侧为最大 * 10万条数据排序时间: 16234ms 30万:151927ms * 大O分析: * 比较次数: (...原创 2018-08-15 17:11:03 · 255 阅读 · 0 评论 -
快速排序
实现原理: 1、找出中值项M 2、将数据通过中值项分为 D1(所有小于等于M的数据) D2(所有大于M的数据) 3、在D1 D2中递归执行1/2/3 PS:中值项的选取,如果直接选取最中间的数据,在某些时候会导致快速排序的性能下降到O(N^2), 所以为了容错,选取数据的第一个,最后一个,中间的数据,对三个进行排序,再进行上诉的 1 2 3(1的规则在此说明) 快速排序和归并排序的区...原创 2018-09-27 15:15:53 · 224 阅读 · 0 评论
分享