首页 > 职业资格考试
题目内容 (请给出正确答案)
[主观题]

在实现快速排序的非递归算法时,可根据基准元素.将待排序排序码序列划分为两个子序列。若下一趟

首先对较短的子序列进行排序,试编写相应的算法,并说明在此做法下,快速排序所需要的栈的深度为O(log2n),

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“在实现快速排序的非递归算法时,可根据基准元素.将待排序排序码…”相关的问题
第1题
快速排序是一个递归的算法。()
点击查看答案
第2题
图的深度优先遍历非递归算法通常采用队列实现,广度优先遍历非递归算法通常采用堆栈实现。()
点击查看答案
第3题
请分别用递归和非递归方法实现查找二叉树中的最大元素的算法。

点击查看答案
第4题
已知Ackerman函数的定义如下:(1)写出递归算法;(2)写出非递归算法;(3)根据非递归算法, 画出求a

已知Ackerman函数的定义如下:

(1)写出递归算法;

(2)写出非递归算法;

(3)根据非递归算法, 画出求akm(2,1)时栈的变化过程。

点击查看答案
第5题
编程求解f(x)=f(x-1)+2x+1.f(x)=1,要解决这一问题,应该使用下列选项中哪一种算法?()

A.选择排序

B.对半查找

C.递归算法

D.解析法

点击查看答案
第6题
阅读下列对正整数关键字序列L操作的算法,并回答问题: (1)设L=(28,19,27,49,56,12,10,25,20,50),

阅读下列对正整数关键字序列L操作的算法,并回答问题:

(1)设L=(28,19,27,49,56,12,10,25,20,50),写出f33(L,4)的返回值;

(2)简述函数f33的功能。

int Partition(SeqList*L,int low,int high);

//对L[low…high]做划分,返回基准记录的位置,并使左部的关键字

//都小于或等于基准记录的关键字,右部的关键字都大于基准记录的关键字

int f33(SeqList L,int k){

int low,high,pivotpos;

low=1;

high=L.length;

if(k<low||k>high)

return-1;

do {

pivotpos=Partition(&L,low,high);//调用快速排序的划分算法

if(pivotpos<k)

low=pivotpos+1;

else if(pivotpos>k)

high=pivotpos-1;

}while(pivotpos!=k);

return L.data[pivotpos];

}

点击查看答案
第7题
在下列指定的排序算法中,()使用的附加空间与输人序列的长度及初始排列无关。
在下列指定的排序算法中,()使用的附加空间与输人序列的长度及初始排列无关。

A、锦标赛排序

B、快速排序

C、基数排序

D、归并排序

点击查看答案
第8题
任何递归形式的算法,都可以转换为非递归的形式。()
点击查看答案
第9题
已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解
已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解

已知Ackerman函数定义如下:

(1)根据定义,写出它的递归求解算法;

(2)利用栈,写出它的非递归求解算法。

点击查看答案
第10题
已知Ackermann函数定义如下:①写出计算Ack(m,n)的递归算法,并根据此算法给出出Ack(2,1)的计算过
已知Ackermann函数定义如下:①写出计算Ack(m,n)的递归算法,并根据此算法给出出Ack(2,1)的计算过

已知Ackermann函数定义如下:

①写出计算Ack(m,n)的递归算法,并根据此算法给出出Ack(2,1)的计算过程。

②写出计算Ack(m,n)的非递归算法。

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改