排序之表排序、基数排序及所有排序算法比较

原创 2015年07月10日 18:55:17

本学习笔记部分内容来自浙江大学网易云课堂,谢谢!

1、表排序

定义一个指针数组做为表。排序的时候,数组位置上的数值不变,改变的是指针的指向。

如该图,初始数值:f d c a g b h e   开始时,比较f>d,则指针0指向d,指针1指向f。之后比较f>c,d>c,则指针0指向c,指针1指向d,指针2指向f。以此类推,最终指针0指向a的位置(即table[0]=3,A[3]那个位置)

2、基数排序

基本思想:比如十进制数字排序,先按个位数大小排,再按十位数大小排,依次。举例如下:

基数排序可以用来进行多关键字排序。如扑克牌:花色和数字大小两种关键字。

3、排序算法比较

注:稳定性是指如果两个数相等,排完序后,其相对位置有没有发生变化,没变的话就是稳定的。希尔排序的d取决于增量序列的选择,最大为2。
当待排序列已经基本有序时,快速排序算法效率最差。
插入排序,在最后一趟开始之前,可能所有的元素都不在自己的位置上。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

基数排序算法 java实现

  • 2012年02月20日 15:54
  • 32KB
  • 下载

基数排序算法

  • 2014年08月16日 11:17
  • 736B
  • 下载

C++双向循环链表实现基数排序算法

文件: baseSort.h  baseSort.cpp 命令: g++ baseSort.cpp -o baseSort /*baseSort.h*/ /* * the head file ...
  • sanjiva
  • sanjiva
  • 2015年04月21日 21:26
  • 767

一种新的高校基数排序算法

  • 2011年05月23日 15:42
  • 158KB
  • 下载

基数排序算法(Java语言)

基数排序算法基本思路: 依次对关键字的第1~N位进行排序,最终所有关键就得到了正确排序。...

基数排序算法

  • 2013年10月27日 10:01
  • 5KB
  • 下载

Radix Sort (基数排序)排序算法

  • 2008年12月29日 14:39
  • 174KB
  • 下载

实现英文单词按字典序排列的基数排序算法

/*exp11-10.cpp*/ #include #include #include #define MaxLen 9/*单词的最大长度*/ #define Radix 27/*基数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序之表排序、基数排序及所有排序算法比较
举报原因:
原因补充:

(最多只允许输入30个字)