(湖大公考)湖南省农村信用社考试之数据结构课件.ppt

(湖大公考)湖南省农村信用社考试之数据结构课件.ppt

例如,n=6,数组R的六个排序码分别为:17,3,25,14,20,9。下面用图7-3给出冒泡排序算法的执行过程。 冒泡排序的效率分析 比较次数: 最少:n-1次 好序 最多:n*(n-1)/2 逆序 移动次数: 最少:0次 好序 最多:3n*(n-1)/2 逆序 因此冒泡排序算法的时间复杂度为O(n2)。由于其中的元素移动较多,所以属于内排序中速度较慢的一种。适合于对基本好序的数组进行排序 冒泡排序算法是一个稳定的算法。 1.快速排序的基本思想 快速排序(Quick Sorting)是迄今为止所有内排序算法中速度最快的一种。它的基本思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行快速排序,直至整个序列有序。快速排序是对冒泡排序的一种改进方法,算法中元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面单元,排序码较小的记录一次就能够交换到前面单元,记录每次移动的距离较远,因而总的比较和移动次数较少。 快速排序 例如,给定排序码为:(46,55,13,42,94,05,17,70),具体划

文档评论(0)

1亿VIP精品文档

相关文档