问答题 试述常见的排序算法。
【正确答案】(1)插入排序。①直接插入排序,基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。②折半插入排序,在直接插入排序中。为了找到插入位置,采用了顺序查找的方法。为了提高查找速度,可以采用折半查找,这种排序称为折半插入顺序。③2-路插入排序,为减少排序过程中移动记录的次数,在折半插入顺序的基础上加以改进。 (2)快速排序。①起泡排序,首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序。则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。直至第n-1个记录和第n个记录的关键字进行过比较为止;然后进行第二趟起泡排序,对前n-1个记录进行同样操作……直到在某趟排序过程中没有进行过交换记录的操作为止。)②快速排序,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
【答案解析】