排序之表排序、基数排序及全部排序算法比較
2017-05-12 16:58
309 查看
本学习笔记部分内容来自浙江大学网易云课堂,谢谢!
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、基数排序
基本思想:比方十进制数字排序,先按个位数大小排。再按十位数大小排。依次。举比例如以下:
基数排序能够用来进行多keyword排序。如扑克牌:花色和数字大小两种keyword。
3、排序算法比較
插入排序。在最后一趟開始之前。可能全部的元素都不在自己的位置上。
相关文章推荐
- 各种排序算法实现——基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- 【转】排序算法复习(Java实现) (二): 归并排序,堆排序,桶式排序,基数排序
- 【转】排序算法复习(Java实现)(二): 归并排序,堆排序,桶式排序,基数排序
- [C++]数据结构:排序算法Part2----快速排序、归并排序、箱子排序、基数排序
- [C++]数据结构:排序算法Part2----快速排序、归并排序、箱子排序、基数排序
- 几种常见的排序算法,选择排序,冒泡排序,希尔排序,堆排序,快速排序,归并排序,基数排序的比较
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 几种排序算法的C++实现——快速排序、堆排序、基数排序
- 排序算法复习(Java实现)(二): 归并排序,堆排序,桶式排序,基数排序
- 排序算法(六)非比较排序----计数排序和基数排序
- 常用排序算法C++实现(堆排序,快速排序,归并排序,基数排序)
- 排序算法----分配排序(箱排序,基数排序以及各种排序比较)
- 排序算法-基数排序_基数排序
- 易解排序算法 - 空间换取时间(java写:基数排序,计数排序,桶排序,排序全部源代码)
- 笔试面试最常涉及到的12种排序算法(包括插入排序、二分插入排序、希尔排序、选择排序、冒泡排序、鸡尾酒排序、快速排序、堆排序、归并排序、桶排序、计数排序和基数排序)进行了详解。每一种算法都有基本介绍、算
- 排序算法——基数排序(桶式排序)
- 排序算法(四)插入排序
- 排序算法总结(6)--快速排序
- 排序算法之归并排序
- 排序算法(C实现)------ 冒泡排序