线性表里的冒泡排序和快速排序是什么?比较次数有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:37:32

冒泡排序是一种交换排序方式。设有n个数据依次放在数组元素a(1)至a(n)中,用冒泡法对这n个数据进行递增排序的过程为:先比较a(1)与a(2),若逆序则交换之,接着比较a(2)与a(3),若逆序就交换……依次进行,知道将a(n-1)与a(n)比较交换完,才算完成了第一轮比较交换。然后以同样规则进行第二次交换……一直到数据排好序为止。最坏情形下比较1/2 n(n-1)次,交换3/2 n(n-1)次。

快速排序是由著名计算机学家C.A.R.Hoare在起泡排序的基础上提出的一种高效率的排序算法。它的基本思想是:在待排序数列中选取一个元素(通常是第一个元素)x,按某一规律经过多次交换位置后,它移到某一位置,以此位置对原数列进行划分,使得得到的两个子数列对x来说符合排序规律。元素x称为此数列中的划分元素。接着按此方法对两个字数列再划分,直到得到不需要进一步划分的子数列为止。这一过程具有明显的递归性。

快速排序多数情况下比冒泡排序要高效,若需要算法或代码可以hi本人。