算法
Sun_hxx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之桶排序
排序算法之桶排序桶排序,顾名思义,把数据放在桶里面进行排序,例如实际中高考出成绩的时候,有些高考大省的人数有近百万,考生需要知道自己在全省的排名,怎么才能快速排序出来呢。我们固然可以利用快速排序,但是我们仔细思考其实可以发现,考生的分数区间基本都在0-750之间,换言之虽然考生有近百万,但是他们的分数其实只有751种类型。这种情况下,我们完全可以把0-750放入一个LinkedHashMap<Integer,List<Student>>中(保证分数的有序性),然后遍历100w的考原创 2021-03-23 16:43:41 · 172 阅读 · 0 评论 -
排序算法之快速排序
排序算法之快速排序上一篇我们有介绍归并排序,我们知道归并排序是利用分治思想解决的,其实快速排序也是利用分治思想解决的,但是实现思路上却又完全不同了。快速排序的思想是,从数组中找到一个点记为pivot,把小于pivot的放到他的左边,把大于pivot的放到他的右边。分治思想的代码实现是可以用递归去做的,这里我们推导一下递归公式,显然,根据分治思想,要把这个数组一直往下分,同时更换数据位置,直到无法再分的时候,数组自然就有序了。公式:quick_sort(p...r)=quick(p...q-1)+quic原创 2021-03-22 21:49:49 · 402 阅读 · 0 评论 -
排序算法之归并排序
排序算法之归并排序经典排序算法有冒泡排序,插入排序,选择排序,归并排序,快速排序,计数排序,基数排序,桶排序。咱们最了解的应该就是冒泡排序,插入排序,选择排序,这里我们就一起学习一下归并排序。核心思想归并排序的核心思想其实非常简单,就是把数组两两分解,将分解好的两部分排序,最后再合并在一起,这样最后整个数组就是有序的了。归并排序采用的是分治思想,将一个大问题分解为若干个小问题解决,小的问题解决了,大问题自然迎刃而解。分治的思想和递归挺相似,递归是代码上的体现,而分治是解决问题的思路,这里我们就采用递归原创 2021-03-21 23:57:31 · 171 阅读 · 0 评论
分享