|
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 数据结构与算法 > 常用算法 > 常用算法 > 简单排序 >
|
考试要求:掌握
相关知识点:3个
|
|
|
|
直接插入排序是一种简单的排序方法,具体做法是:在插入第i个记录时,R1,R2,…,Ri-1己经排好序,这时将记录Ri的关键字ki依次与关键字ki-1,ki-2,…,k1进行比较,从而找到Ri应该插入的位置,插入位置及其后的记录依次向后移动。
|
|
|
|
|
直接插入排序法在最好情况下(待排序列已按关键码有序),每趟排序只需作1次比较且不需要移动元素,因此n个元素排序时的总比较次数为n-1次,总移动次数为0次。在最坏情况下(元素已经逆序排列),进行第i趟排序时,待插入的记录需要同前面的i个记录都进行1次比较,因此,总比较次数为。排序过程中,第i趟排序时移动记录的次数为i+1(包括移进、移出temp),总移动次数为。
|
|
|
由此,直接插入排序是一种稳定的排序方法,其时间复杂度为O(n2)。排序过程中仅需要一个元素的辅助空间,空间复杂度为O(1)。
|
|
|