交换类排序法

冒泡排序法和快速排序法都属于交换类排序法。

(1)冒泡排序法

首先,从表头开始往后扫描线性表,逐次比较相邻两个元素的大小,若前面的元素大于后面的元素,则   将它们互换,不断地将两个相邻元素中的大者往后移动,最后最大者到了线性表的最后。

然后,从后到前扫描剩下的线性表,逐次比较相邻两个元素的大小,若后面的元素小于前面的元素,则   将它们互换,不断地将两个相邻元素中的小者往前移动,最后最小者到了线性表的最前面。

对剩下的线性表重复上述过程,直到剩下的线性表变空为止,此时已经排好序。在最坏的情况下,冒泡排序需要比较次数为n(n-1)/2。

(2)快速排序法

它的基本思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素 ),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则   大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。

疑难解答:冒泡排序和快速排序的平均执行时间分别是多少?

冒泡排序法的平均执行时间是O(n2),而快速排序法的平均执行时间是O(nlog2n)。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,295评论 0 52
  • 一、 单项选择题(共71题) 对n个元素的序列进行冒泡排序时,最少的比较次数是( )。A. n ...
    貝影阅读 9,410评论 0 10
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,811评论 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,343评论 0 2
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,369评论 0 35

友情链接更多精彩内容