单选题

通过设置基准(枢轴)元素将待排序的序列划分为两个子序列,使得其一个子序列的元素均不大于基准元素,另一个子序列的元素均不小于基准元素,然后再分别对两个子序列继续递归地进行相同思路的排序处理,这种排序方法称为(  )。

A. 快速排序
B. 冒泡排序
C. 归并排序
D. 简单选择排序

查看答案
该试题由用户326****16提供 查看答案人数:6228 如遇到问题请联系客服
正确答案
该试题由用户326****16提供 查看答案人数:6229 如遇到问题请联系客服
热门试题
在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 在待排序的元素序列基本有序的前提下,效率最高的排序算法是() 排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为___。 中国大学MOOC: 排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置,这是( )排序方法的基本思想。 在排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。 在待排序的元素序列基本有序的前提下,效率最高的排序方法是 【1】 。 从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为()。 从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法为()。 排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较,然后将其放入已排序序列的正确位置的方法是() 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。 为实现快速排序算法,待排序列适合采用() 如果待排序序列中两个数据元素具有相似的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的,()就是不稳定的排序算法。 ()排序是一种将无序列表中的元素通过依次插入到已经排序好的列表中的算法 排序算法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是() 阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序, 最终得到非递减的有序序列。
函数 quicksort(int a[],int n)实现了快速排序,其中,n 个整数构成的待排序列保存在数组元素 a[0]-a[n-1]中。
【C 代码】
#include < stdio.h>
void quicksort(int a[] ,int n)
{
int i ,j;
int pivot = a[0]; //设置基准值
i =0; j = n-1;
while (i< j) {
while (i<j &&(1)) j-- //大于基准值者保持在原位置
if (i<j) { a[i]=a[j]; i++;}
while (i<j &&(2)) i++; //不大于基准值者保持在原位置
if (i<j) { a[j]=a[i]; j--;}
}
a[i] = pivot; //基准元素归位
if ( i>1)
(3) ; //递归地对左子序列进行快速排序
if ( n-i-1>1 )
(4) ; //递归地对右子序列进行快速排序
}
int main ()
{
int i,arr[ ] = {23,56,9,75,18,42,11,67};
quicksort ( (5) ); //调用 quicksort 对数组 arr[ ]进行排序
for( i=0; i<sizeof(arr) /sizeof(int); i++ )
printf(" %d " ,arr[i]) ;
return 0;
}
从未排序序列中依此取出元素与已排序序列中的元素比较,讲其放入已经排序的正确位置上的方法,这种排序方法称为() 排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是() 快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了(请作答此空)算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为( )。 快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了( )算法设计策略。已知确定着基准元素操作的时间复杂度为 O(n) ,则快速排序算法的最好和最坏情况下的时间复杂度为( 此空作答 )。 快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了( 此空作答 )算法设计策略。已知确定着基准元素操作的时间复杂度为 O(n) ,则快速排序算法的最好和最坏情况下的时间复杂度为()。
购买搜题卡会员须知|联系客服
会员须知|联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于聚题库网站及系列App

    只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索

    支付方式

     

     

     
    首次登录享
    免费查看答案20
    登录成功
    首次登录已为您完成账号注册,
    可在【个人中心】修改密码或在登录时选择忘记密码
    账号登录默认密码:手机号后六位