http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重...
分类:
编程语言 时间:
2015-10-07 15:59:33
阅读次数:
239
基数排序的性能排序类别排序方法时间复杂度空间复杂度稳定性复杂性平均情况最坏情况最好情况基数排序基数排序O(d(n+r))O(d(n+r))O(d(n+r))O(n+r)稳定较复杂时间复杂度:假设在基数排序中,r为基数,d为位数。则基数排序的时间复杂度为O(d(n+r))。可以看出,基数排序的效率和初...
分类:
编程语言 时间:
2015-10-04 22:12:26
阅读次数:
326
一、线性时间排序算法历史概览 计数排序首先是由 Harold H. Seward 于1954年提出,而且他还提出将计数排序和基数排序进行结合的思想;基数排序是L.J.Comrie于1929年首次在一篇描述卡片穿孔机文档中提出的一种方法,它是从最低有效位开始,对一个有多位数组成的数进行排序的方法;而桶...
分类:
编程语言 时间:
2015-09-29 14:29:24
阅读次数:
374
各种排序算法的比较排序方法平均时间最坏情况辅助存储简单排序O(n2)O(n2)O(1)快速排序O(nlogn)O(n2)O(logn)堆排序O(nlogn)O(nlogn)O(1)归并排序O(nlogn)O(nlogn)O(n)基数排序O(d(n+rd))O(d(n+rd))O(rd)快速排序 排....
分类:
编程语言 时间:
2015-09-22 18:37:15
阅读次数:
286
排序算法 平均复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 一. 冒泡排序(BubbleSort) 基本思想:两个数...
分类:
编程语言 时间:
2015-09-17 23:29:50
阅读次数:
834
importjava.util.Random;/*** 排序测试类** 排序算法的分类如下: *1.插入排序(直接插入排序、折半插入排序、希尔排序); *2.交换排序(冒泡泡排序、快速排序);* 3.选择排序(直接选择排序、堆排序); *4.归并排序; *5.基数排序。** 关于排序方法的选择: *...
分类:
编程语言 时间:
2015-09-16 19:36:15
阅读次数:
413
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢...
分类:
编程语言 时间:
2015-09-15 09:25:05
阅读次数:
224
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
第一步以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