题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-11-01 20:35:31

[单选题]如果待排序中两个数据元素具有相同的值,在排序后它们的相互位置发生颠倒,则称该排序算法不稳定,( )就是不稳定的排序算法。
A.冒泡排序
B.归并排序
C.直接插入排序
D.Shell排序

更多"[单选题]如果待排序中两个数据元素具有相同的值,在排序后它们的相互位置"的相关试题:

[单选题]如果待排序中两个数据元素具有相同的值,在排序后它们的相互位置发生颠倒,则称该排序算法不稳定,( )就是不稳定的排序算法。
A.冒泡排序
B.归并排序
C.直接插入排序
D.Shell排序
[单选题]对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则 ( ) 保证这两个元素在排序前后的相对位置不变。
A.直接插入排序和简单选择排序都可以
B.直接插入排序和简单选择排序都不能
C.只有直接插入排序可以
D.只有简单选择排序可以
[单选题]对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则(63)保证这两个元素在排序前后的相对位置不变。
A.直接插入排序和简单选择排序都可以
B.直接插入排序和简单选择排序都不能
C.只有直接插入排序可以
D.只有简单选择排序可以
[单选题]排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( )。
A.希尔排序
B.冒泡排序
C.插入排序
D.选择排序
[单选题]数据结构是具有()的数据元素的集合。
A.性质相同
B.特定关系
C.相同运算
D.数据项
[单选题]从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为( )。
A.插入排序
B.选择排序
C.快速排序
D.冒泡排序
[单选题]快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了(请作答此空)算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为( )。
A.分治
B.动态规划
C.贪心
D.回溯
[单选题]快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (请作答此空) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 ( ) 。
A.分治
B.动态规划
C.贪心
D.回溯
[单选题]下列排序算法中,()每一趟都能选出一个元素放在最终位置上,并且是不稳定的
A.冒泡排序
B.希尔排序
C.直接选择排序
D.直接插入排序
[单选题]用某排序方法对一元素序列进行非递减排序时,若该方法可保证在排序前后排序码相同者的相对位置不变,则称该排序方法是稳定的。简单选择排序法排序方法是不稳定的,(61)可以说明这个性质。
A.21 48 21*63 17
B.17 21 21*48 63
C.63 21 48 21*17
D.21*17 48 63 21
[单选题]下面给出的四种排序法中( )排序法是不稳定性排序法。
A.插入
B.冒泡
C.二路归并
D.堆积
[单选题]在第一趟排序之后,一定能把数据序列中最大或最小元素放在其最终位置上的排序方法是( )。
A.冒泡排序
B.插入排序
C.快速排序
D.归并排序
[单选题]下列排序方法中,属于不稳定的排序方法的是()。
A.直接插入排序法
B.冒泡排序法
C.基数排序法
D.堆排序法
[单选题]若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是()。
A.起泡排序
B.插入排序
C.选择排序
D.二路归并排序
[简答题]阅读下列说明和C代码,回答下列问题。[说明]?? ?采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排序的子数组得到排序结果。?? ?下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下:?? ?arr:待排序数组?? ?P,q,r:一个子数组的位置从P到q,另一个子数组的位置从q+1到r?? ?begin,end:待排序数组的起止位量?? ?left,right:临时存放待合并的两个子数组?? ?n1,n2:两个子数组的长度?? ?i,j,k:循环变量?? ?mid:临耐变量?? ?[C代码]?? ?#inciude<stdio, h>?? ?#include<stdlib, h>?? ?Define MAX 65536?? ?void merge(int arr [ ],int p,int q,int r) {?? ?int * left,* right;?? ?int n1,n2,I,j,k;?? ?n1=q-p+1;?? ?n2=r-q;?? ?If(left=(int *)malloc((n1+1) * sizeof(int)))=NULL) {?? ?Perror( "malloc error" );?? ?exit11?? ?}?? ?If((right = (int *)malloc((n2+1) * sizeof(int)))=NULL)?? ?Perror("malloc error");?? ?exit 11;?? ?}?? ?for(i=0;i<n1;i++){?? ?left[i]=arr [p+i];?? ?}?? ?left[i]=MAX;?? ?for(i=0;i<n2;i++){?? ?right[i]=arr[q+i+1]?? ?}?? ?right[i]=MAX;?? ?i=0;j=0;?? ?For(k=p;______;k++){?? ?If(left[i]>right[j] {?? ?______?? ?j++;?? ?}else{?? ?arr[k1]=left[i];?? ?i++;?? ?}?? ?}?? ?}?? ?Void merge Sort(int arr[ ], int begin, int end) {?? ?int mid;?? ?if(______){?? ?mid=(begin + end)/2;?? ?merge Sort(arr,begin,mid);?? ?______;?? ?Merge(arr,begin,mid,end);?? ?}?? ?}

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码