转自:http://ahalei.blog.51cto.com/4767671/1364401简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请 2100000001个变量,也就是说要写成int a[2100000...
分类:
编程语言 时间:
2015-09-07 12:50:28
阅读次数:
243
package com.edu.hpu.sort.radix;import java.util.LinkedList;import java.util.List;import com.edu.hpu.sort.Sort;public class RadixSort extends Sort { .....
分类:
编程语言 时间:
2015-09-07 10:48:34
阅读次数:
150
package com.edu.hpu.sort.bucket;import java.util.LinkedList;import java.util.List;import com.edu.hpu.sort.Sort;/* 排序原理: 顺序从待排数组中取出数字,首先6被取出,然后把6...
分类:
编程语言 时间:
2015-09-07 09:29:50
阅读次数:
185
转自:http://bbs.ahalei.com/thread-4399-1-1.html最快最简单的排序——桶排序 在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序....
分类:
编程语言 时间:
2015-09-06 19:47:56
阅读次数:
261
后缀数组又被称为字符串处理神器;http://blog.csdn.net/xymscau/article/details/8798046 这里讲的非常好实现rank排名是用到了倍增法和一个比较神奇的计数排序,时间复杂度是nlongnheight[i]存放的是排名第i的后缀与排名第i-1的后缀的最长前...
分类:
编程语言 时间:
2015-09-04 18:32:51
阅读次数:
186
第一步以LSD为例,假设原来有一串数值如下所示:73, 22, 93, 43, 55, 14, 28, 65, 39, 81首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中:01 812 223 73 93 434 145 55 65678 289 39第二步接下来将这些桶子中的数值...
分类:
编程语言 时间:
2015-09-04 15:36:08
阅读次数:
182
今天下午编程实现了基数排序(桶排序),只能说一千个人有一千个哈姆雷特,因此,一千个人可能有一千种基数排序的实现方式,无论是用数组,栈,队列,单链表(都是线性表哦, 好巧,哈哈)。重要的是理解该排序算法的思路后,自己也就可以尝试着慢慢写出来了。时间关系,暂且只给出跟人代码(面试黄金月),以后有机会再补...
分类:
编程语言 时间:
2015-09-02 22:06:26
阅读次数:
264
编程之美有一道考察多种排序的题目,题目如下:
有一个长度为N的无序数组,假定其中的每一个元素都各不相等,求其中最大的K个数。
作者对于此题目结合各种排序算法给出了五种解法思路。
解法一:
使用快速排序或堆排序对它们元素进行排序,整个排序的时间复杂度为O(N*log2{log}_2N),然后取出前K个,时间复杂度为O(K),总时间复杂度O(N*log2{log}_2N)+O(K)=O(N*l...
分类:
其他好文 时间:
2015-09-02 02:06:37
阅读次数:
277
时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(...
分类:
其他好文 时间:
2015-09-01 21:16:57
阅读次数:
241
基数排序前面的算法有一个公关特点,就是基于比较大小来排序的。最坏情况NlogN,除了比较外,在做个些别的事情。桶排序假设我们有N个学生,他们的成绩是0到100之间的整数(于是有M=101个不同的成绩值)。如何在线性时间内将学生按成绩排序?建立101个桶void Bucket_Sort(Element...
分类:
编程语言 时间:
2015-09-01 10:20:42
阅读次数:
343