一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
40,20,30,38,46,56,79,84,90,110
20,30,40,38,46,79,56,84,90,100
30,20,40,38,46,84,56,79,90,100
20,30 38,40,46,56,79,84,90,100
使用积分解锁答案,让你的形成性考核不再困难。
一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
40,20,30,38,46,56,79,84,90,110
20,30,40,38,46,79,56,84,90,100
30,20,40,38,46,84,56,79,90,100
20,30 38,40,46,56,79,84,90,100
在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经( )次比较后查找成功。
4
2
3
5
对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行( )次元素间的比较。
3
4
5
6
排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( )排序。
归并
插入
选择
快速
一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为( )。
26,18,59,20,36,25
18,20,25,59,26,36
18,20,36,59,26,25
26,59,36,18,20,25
一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。
16,25,35,48,23,40,79,82,36,72
16,25,35,48,79,82,23,36,40,72
16,25,48,35,79,82,23,36,40,72
16,25,35,48,79,23,36,40,82,72
已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为( )。
16,28,34,54,73,62,60,26,43,95
28,16,34,54,62,73,60,26,43,95
28,16,34,54,62,60,73,26,43,95
16,28,34,54,62,60,73,26,43,95
一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。
40,38,46,79,56,84
40,38,46,56,79,84
40,38,46,84,56,79
38,40,46,56,79,84
一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )。
39,46,41,57,80,47
39,47,46,80,41,57
41,39,46,47,57,80
39,80,46,47,41,57
以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针p(查找成功p指向查到的树结点,不成功p指向为NULL)完成程序中的空格
typedef struct Bnode
{ int key;
struct Bnode *left;
struct Bnode *right;
} Bnode;
Bnode *BSearch(Bnode *bt, int k)
/* bt用于接收二叉排序树的根结点的指针,k用以接收要查找的关键字*/
{ Bnode *p;
if(bt== __(1)__)
return (bt);
p=bt;
while(p->key!= __(2)__)
{ if(k<p->key)
__(3)__;
else __(4)__;
if(p==NULL) break;
}
return(__(5)__;
}