关闭

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

标签: 排序算法表排序基数排序排序算法比较
649人阅读 评论(0) 收藏 举报
分类:

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24954次
    • 积分:473
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论