直接插入排序.pptx

第十章 优化排序直接插入排序第10章 优化排序插入排序 插入排序的基本思想是:在一个已排好序的记录子集的基础上,每一步将下一个待排序的记录有序地插入到已排好序的记录子集中,直到将所有待排记录全部插入为止。 打扑克牌时的抓牌就是插入排序一个很好的例子,每抓一张牌,插入到合适位置,直到抓完牌为止,即可得到一个有序序列。 第10章 优化排序直接插入排序 直接插入排序是一种最基本的插入排序方法。其基本操作是将第i个记录插入到前面i-1个已排好序的记录中,具体过程为: 将第i个记录的关键字Ki顺次与其前面记录的关键字Ki-1,Ki-2,…, K1进行比较,将所有关键字大于Ki的记录依次向后移动一个位置,直到遇见一个关键字小于或者等于Ki的记录Kj,此时Kj后面必为空位置,将第i个记录插入空位置即可。完整的直接插入排序是从i=2开始的,也就是说,将第1个记录视为已排好序的单元素子集合,然后将第2个记录插入到单元素子集合中。i从2循环到n,即可实现完整的直接插入排序。第10章 优化排序例 设有一组关键字序列{43,21,89,15, ,28},这里n=6,即有6个记录。请将其按由小到大的顺序排序。 第10章 优化排序 假设待排序记录存放在r[1..n]之中,为了提高效率,我们附设一个监视哨r[0],使得r[0]始终存放待插入的记录。监视哨的作用有两个:一是备份待插入的记录,以便前面关键

文档评论(0)

1亿VIP精品文档

相关文档