2018年计算机二级考试公共基础知识点:排序技术
考点11 交换类排序法
考试链接:
考点11属于比较难的内容,一般以选择题的形式考查,考核几率为30%,分值约为2分,读者应该熟练掌握几种排序算法的基本过程。
冒泡排序法和快速排序法都属于交换类排序法。
(1)冒泡排序法
首先,从表头开始往后扫描线性表,逐次比较相邻两个元素的大小,若前面的元素大于后面的元素,则将它们互换,不断地将两个相邻元素中的大者往后移动,最后最大者到了线性表的最后。
然后,从后到前扫描剩下的线性表,逐次比较相邻两个元素的大小,若后面的元素小于前面的元素,则将它们互换,不断地将两个相邻元素中的小者往前移动,最后最小者到了线性表的最前面。
对剩下的线性表重复上述过程,直到剩下的线性表变空为止,此时已经排好序。
在最坏的情况下,冒泡排序需要比较次数为n(n-1)/2。
(2)快速排序法
它的基本思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。