排序算法
xuxizhou1994
厚积薄发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分法
二分查找又称折半查找,查找效率不错适用场景:顺序存储结构且按有序排列,这也是它的缺点。public static void main(String[] args) { int[] array ={}; for(int i =0;i<100000;i++){ array = add(array,(int)(Math.random()*1000)+1); System.out.println(array[i]+"i="+i); }原创 2020-12-17 17:44:14 · 160 阅读 · 0 评论 -
归并排序 详解
算法复杂度:O(nlogn);也许有很多同学说,原来也学过很多O(n^2)或者O(n^3)的排序算法,有的可能优化一下能到O(n)的时间复杂度,但是在计算机中都是很快的执行完了,没有看出来算法优化的步骤,那么我想说有可能是你当时使用的测试用例太小了,我们可以简单的做一下比较:当数据量很大的时候 nlogn的优势将会比n^2越来越大,当n=10^5的时候,nlogn的算法要比n^2的算法快6000倍,那么6000倍是什么概念呢,就是如果我们要处理一个数据集,用nlogn的算法要处理一天的话,.原创 2020-12-17 16:23:27 · 244 阅读 · 0 评论 -
高快省的排序算法
有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列:3 1 2 5 4 6 9 7 10 8在初始状态下,数字6在序列原创 2020-12-16 19:52:34 · 400 阅读 · 0 评论 -
数据结构学习总结
第一是线性表(Linear List)。顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。...原创 2020-12-16 16:32:41 · 419 阅读 · 0 评论
分享