时间复杂度为O(n) ~ O(n^2), 嗯, 比较随缘的一种算法 我的这个版本只能排序正数,对数据分布均匀的情况比较适用 代码没有快排来的简洁, 只是学习用吧.... 再有就当作练习链表了.... ...
分类:
编程语言 时间:
2016-09-10 23:45:27
阅读次数:
218
Bucket Sort is a sorting method that subdivides the given data into various buckets depending on certain characteristic order, thuspartially sorting t ...
分类:
编程语言 时间:
2016-09-08 00:57:03
阅读次数:
277
日常操作中常见的排序方法很多,比如有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 一、冒泡排序 一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 走访数列的工作是重复地进行直到没 ...
分类:
编程语言 时间:
2016-09-03 01:08:02
阅读次数:
283
近期来闲来无事,整理了一些比较常见的排序算法,都是用C++写的,其中包括:直接插入排序、折半插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、希尔排序、基数排序,计数排序和桶排序,总共11种算法,其中时间复杂度为O(n^2)为前4种,中间4中的时间复杂度为O(nlgn),最后3种的时间复杂度 ...
分类:
编程语言 时间:
2016-09-01 18:32:02
阅读次数:
279
1.最快最简单的排序,桶排序 问题:假设有5个同学,在一场考试中分别取得分数为(满分10):3 5 8 2 5,如何将他们按从大到小的顺序排列? 解决思路:定义一个长度为11的数组,即a[0]-a[10],下标序号分别对应分数1-10;每一个人得到一个分数n,就使a[n]++,如有两个人得5分,a[ ...
分类:
编程语言 时间:
2016-08-28 11:09:54
阅读次数:
209
虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般而言,好的性 ...
分类:
编程语言 时间:
2016-08-23 21:53:29
阅读次数:
392
第 1 章 一大波数正在靠近——排序 ................................................................................................... 1第 1节 最快最简单的排序——桶排序 ........... ...
分类:
编程语言 时间:
2016-08-08 19:17:17
阅读次数:
291
上一篇文章,介绍了一个非常快的排序算法--桶排序,但是它的缺点就是太耗资源了,这次要实现的算法就不用太耗资源了,它就是冒泡排序。 ...
分类:
编程语言 时间:
2016-08-01 17:26:43
阅读次数:
278