在排序算法中每一项都与其他诸项进行比较,计算出小于该项的个数,以确定该项的位置的算法叫( )。(2012年嵌入式系统设计师下半年)

在排序算法中每一项都与其他诸项进行比较,计算出小于该项的个数,以确定该项的位置的算法叫(    )。(2012年嵌入式系统设计师下半年)
A.插入排序

B.交换排序

C.选择排序

D.枚举排序


参考答案:D
参考解:本题考查排序算法。常用的排序算法有插入排序、交换排序、选择排序、合并排序(归并排序)、枚举排序等多种。
    插入排序主要包括直接插入排序和希尔排序。直接插入排序时把数组A[n]中待排序的n个元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素A[0],无序表中包含n-1个元素A[1]~A[n-1],排序过程中每次从无序表中取出第一个元素,把它插入有序表中适当位置,使之成为新的有序表,这样经过n-1次插入后,有序表中就包含了排好序的全部n个元素。希尔排序是对直接插入排序的改进,是一个分组进行直接插入排序的过程。
    交换排序主要包括冒泡排序和快速排序。冒泡排序的基本思想是通过相邻元素之间的比较和交换,使关键字较小的元素逐渐从底部移向项部,即从下标较大的位置移向下标较小的位置;快速排序,是首先从待排序区间选取一个元素作为比较的基准,进行一次划分,使区间前半部分只保留比基准元素关键字小或相等的元素,后半部分所有元素的关键字均大于等于基准元素的关键字,基准元素的当前位置即为排序后的最终位置,然后再对基准元素的前后两个子区间分别进行快速排序,这是一个递归过程,当一个区间为空或只包含一个元素时,就结束该区间的快速排序过程。
    选择排序主要包括直接选择排序和堆排序。直接选择排序每次从待排序的区间中选择出具有最小关键字的元素,把该元素与该区间的第一个元素交换位置;堆排序是利用堆的特性进行排序的过程。
    合并排序,也称归并排序,是利用合并操作把一个无序表排列成一个有序表的过程。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,转载需标明出处。
如果您有更好的解答,欢迎留言评论。

本文链接:https://ruankaoti.com/post/3872.html

评论

阅读更多

微信扫码,加入打卡学习群,分享学习资料

最近发表