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

原创 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。
当待排序列已经基本有序时,快速排序算法效率最差。
插入排序,在最后一趟开始之前,可能所有的元素都不在自己的位置上。

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

九大基础排序总结与对比

详细分析 冒泡、选择、插入、堆排序、归并、快速、希尔、桶排序、基数排序,并做了对比和改进分析。...
  • Amazing7
  • Amazing7
  • 2016年06月07日 15:43
  • 21747

算法系列(四)排序算法中篇--归并排序和快速排序

在算法系列(三)排序算法上篇 一文中,介绍了冒泡排序,插入排序和选择排序算法。这篇文章继续讲解排序算法。 概述 冒泡排序,插入排序和选择排序算法这些算法的时间复杂度都是O(N^2),是否有更高效的排序...
  • robertcpp
  • robertcpp
  • 2016年05月30日 23:04
  • 3105

java实现各种排序算法及比较

常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。 在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。 一是稳定性 所谓稳定性,是指值相等的...
  • tang9140
  • tang9140
  • 2015年06月08日 11:01
  • 5099

各种排序最好最坏的比较次数

都不知道怎么回答,各种排序说的也太多了,这里讲几种简单的吧,希望对你有帮助! 比如n个顺序存储元素进行排序,a[0]做“哨兵”(即a[0]不存数据,而是用作辅存空间使用)的情况 1 直接插入排序:比较...
  • u013176681
  • u013176681
  • 2014年12月07日 11:12
  • 7802

基数排序算法 java实现

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

基数排序算法

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

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

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

数据结构实验五 快速、堆、基数排序算法的设计.doc

  • 2010年06月29日 11:34
  • 515KB
  • 下载

基数排序算法

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

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

  • 2008年12月29日 14:39
  • 174KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序之表排序、基数排序及所有排序算法比较
举报原因:
原因补充:

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