shell排序的依据:把记录分成几个交替的组,使用我们熟悉的插入排序算法对每个组进行排序。
具体做法是:先取一个小于记录数据n的数h1作为第一个增量,将记录中所有距离为h的记录分为一组并在该组内进行插入排序,然后再取小于h1的第二个增量h2,对记录中所有距离为h2的记录进行插入排序。。。以此类推,知道距离h等于1(此时等同于插入排序)。
shell排序的基本特征:
- shell排序不是稳定的
- 该算法对于初始记录不敏感,即初始记录是否有序对算法的执行效率几乎没有影响
shell排序的依据:把记录分成几个交替的组,使用我们熟悉的插入排序算法对每个组进行排序。
具体做法是:先取一个小于记录数据n的数h1作为第一个增量,将记录中所有距离为h的记录分为一组并在该组内进行插入排序,然后再取小于h1的第二个增量h2,对记录中所有距离为h2的记录进行插入排序。。。以此类推,知道距离h等于1(此时等同于插入排序)。
shell排序的基本特征: