首页 > 软考
题目内容 (请给出正确答案)
[主观题]

对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用(43)。A.堆排

对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用(43)。

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之…”相关的问题
第1题
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(59),使用分治(

对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(59),使用分治(Divide and Conquer)策略的是(60)算法。

A.希尔排序

B.直接插入排序

C.快速排序

D.堆排序

点击查看答案
第2题
● 对于具有n 个元素的一个数据序列,若只得到其中第 k 个元素之前的部分排序, 最好采用(59) ,使用
分治 (Divide and Conquer )策略的是(60) 算法。

(59)A. 希尔排序 B. 直接插入排序 C. 快速排序 D. 堆排序

(60)A. 冒泡排序 B. 插入排序 C. 快速排序 D. 堆排序

点击查看答案
第3题
线性表是一个具有n个()的有限序列。A.表元素B.数据元素C.字符D.数据项

线性表是一个具有n个()的有限序列。

A.表元素

B.数据元素

C.字符

D.数据项

点击查看答案
第4题
线性表是一个具有n个什么项目的有限序列?A.表元素B.字符C.数据元素D.数据项

线性表是一个具有n个什么项目的有限序列?

A.表元素

B.字符

C.数据元素

D.数据项

点击查看答案
第5题
● 对于n 个元素的关键字序列{k1,k2,…,kn}, 若将其按次序对应到一棵具有 n 个结点的完全二叉树上,
使得任意结点都不大于其孩子结点(若存在孩子结点), 则称其为小顶堆。根据以上定义, (43) 是小顶堆

● 对于n 个元素的关键字序列{k1,k2,…,kn}, 若将其按次序对应到一棵具有 n 个结点的完

点击查看答案
第6题
● 对于二叉查找树(Binary Search Tree) ,若其左子树非空,则左子树上所有结点的值均小于根结点的
值;若其右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉查找树。因此,对任意一棵二叉查找树进行 (61) 遍历可以得到一个结点元素的递增序列。在具有 n 个结点的二叉查找树上进行查找运算,最坏情况下的算法复杂度为 (62) 。

(61)

A. 先序

B. 中序

C. 后序

D. 层序

(62)

A. O(n2

B. O(nlog2n)

C. O(log2n)

D. O(n)

点击查看答案
第7题
线性表是具有n个()的有限序列(n>0)。【清华大学1998一、4(2分)】A.表元素B.字符C.数据元素D.

线性表是具有n个()的有限序列(n>0)。【清华大学1998一、4(2分)】

A.表元素

B.字符

C.数据元素

D.数据项

E.信息项

点击查看答案
第8题
若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。()
点击查看答案
第9题
对于一个具有n个顶点和e条边的无向图,若采用邻接矩阵表示,则该矩阵大小是(①),矩阵中的非零元素个数是(②)。
对于一个具有n个顶点和e条边的无向图,若采用邻接矩阵表示,则该矩阵大小是(①),矩阵中的非零元素个数是(②)。

A、c

B、2e

C、e2

D、n2

点击查看答案
第10题
阅读下列函数说明和C代码,回答下面问题。[说明] 冒泡排序算法的基本思想是:对于无序序列(假设扫描

阅读下列函数说明和C代码,回答下面问题。

[说明]

冒泡排序算法的基本思想是:对于无序序列(假设扫描方向为从前向后,进行升序排列),两两比较相邻数据,若反序则交换,直到没有反序为止。一般情况下,整个冒泡排序需要进行众(1≤k≤n)趟冒泡操作,冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换。若数据初态为正序时,只需1趟扫描,而数据初态为反序时,需进行n-1趟扫描。在冒泡排序中,一趟扫描有可能无数据交换,也有可能有一次或多次数据交换,在传统的冒泡排序算法及近年的一些改进的算法中[2,3],只记录一趟扫描有无数据交换的信息,对数据交换发生的位置信息则不予处理。为了充分利用这一信息,可以在一趟全局扫描中,对每一反序数据对进行局部冒泡排序处理,称之为局部冒泡排序。

局部冒泡排序的基本思想是:对于N个待排序数据组成的序列,在一趟从前向后扫描待排数据序列时,两两比较相邻数据,若反序则对后一个数据作一趟前向的局部冒泡排序,即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置。扫描第—对数据对,若反序,对第2个数据向前冒泡,使前两个数据成为,有序序列;扫描第二对数据对,若反序,对第3个数据向前冒泡,使得前3个数据变成有序序列;……;扫描第i对数据对时,其前i个数据已成有序序列,若第i对数据对反序,则对第i+1个数据向前冒泡,使前i+1个数据成有序序列;……;依次类推,直至处理完第n-1对数据对。当扫描完第n-1对数据对后,N个待排序数据已成了有序序列,此时排序算法结束。该算法只对待排序列作局部的冒泡处理,局部冒泡算法的

名称由此得来。

以下为C语言设计的实现局部冒泡排序策略的算法,根据说明及算法代码回答问题1和问题2。

[变量说明]

define N=100 //排序的数据量

typedef struct{ //排序结点

int key;

info datatype;

......

}node;

node SortData[N]; //待排序的数据组

node类型为待排序的记录(或称结点)。数组SortData[]为待排序记录的全体称为一个文件。key是作为排序依据的字段,称为排序码。datatype是与具体问题有关的数据类型。下面是用C语言实现的排序函数,参数R[]为待排序数组,n是待排序数组的维数,Finish为完成标志。

[算法代码]

void Part-BubbleSort (node R[], int n)

{

int=0 ; //定义向前局部冒泡排序的循环变量

//暂时结点,存放交换数据

node tempnode;

for (int i=0;i<n-1;i++) ;

if (R[i].key>R[i+1].key)

{

(1)

while ((2) )

{

tempnode=R[j] ;

(3)

R[j-1]=tempnode ;

Finish=false ;

(4)

} // end while

} // end if

} // end for

} // end function

阅读下列函数说明和C代码,将应填入(n)处的字句写在的对应栏内。

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