排序算法8——图解表排序

排序算法1——图解冒泡排序及其实现(三种方法,基于模板及函数指针)
排序算法2——图解简单选择排序及其实现
排序算法3——图解直接插入排序以及折半(二分)插入排序及其实现
排序算法4——图解希尔排序及其实现
排序算法5——图解堆排序及其实现
排序算法6——图解归并排序及其递归与非递归实现
排序算法7——图解快速排序(两种主元选择方法)以及CUTOFF时间测试
排序算法8——图解表排序
排序算法9——图解桶排序及其实现
排序算法10——图解基数排序(次位优先法LSD和主位优先法MSD)
排序算法——比较与总结


表排序用于待排元素不是一个简单的整数而已,每一个待排元素都是一个庞大的结构体,包含的元素非常复杂非常多。
于是在排序的时候,移动这个结构体的时间是不能忽略不计的。

而之前的7种排序算法都需要移动元素,这样移动这些结构体是非常麻烦且耗时的。
那么表排序就是在排序的过程中,实际上是不需要移动这些原始数据的,要移动的只是指向它们位置的指针。

间接排序:
定义一个指针数组作为表(table),注意这里的指针不是平时说的指针,它只负责记录数组的下标
初始时,table[i] = i
我们希望把这些关键字按照编号进行排序
排序算法8——图解表排序_第1张图片

如果需要对元素进行物理排序,那么
排序算法8——图解表排序_第2张图片

你可能感兴趣的:(基础算法)