1103| 0
|
国开电大数据结构(本)形考作业4-阶段性学习测验4答案 |
【上面答案为下列试题答案,请核对试题后再购买】www.jysguokai.com飞鸽电大"题目1:对线性表进行二分查找时,要求线性表必须( )。
: 以链接存储方式 ; 以链接存储方式,且数据元素有序 ; 以顺序存储方式,且数据元素有序 ; 以顺序存储方式" "题目2:采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为( )。 : (n-1)/2 ; (n+1)/2 ; n/2 ; n" "题目3:有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。 : 29/10 ; 26/10 ; 31/10 ; 29/9" "题目4:已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较( )次。 : 5 ; 6 ; 4 ; 3" "题目5:有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是( )。 : 30,24,12,37,45,96,53 ; 45,24,53,12,37,96,30 ; 12,24,30,37,45,53,96 ; 37,24,12,30,53,45,96" "题目6: 对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是( )。 : 6 ; 4 ; 5 ; 3" "题目7:在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是( )。 : 直接选择排序 ; 希尔排序 ; 冒泡排序 ; 直接插入排序" "题目8:从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为( )。 : 选择排序 ; 插入排序 ; 交换排序 ; 归并排序" "题目9:依次将每两个相邻的有序表合并成一个有序表的排序方法称为( )。 : 选择排序 ; 交换排序 ; 插入排序 ; 归并排序" "题目10:当两个元素出现逆序的时候就交换位置,这种排序方法称为( )。 : 交换排序 ; 选择排序 ; 归并排序 ; 插入排序" "题目11:每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为( )。 : 归并排序 ; 快速排序 ; 插入排序 ; 堆排序" "题目12: 一组记录的关键字序列为(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。 : 20,30,40,38,46,79,56,84,90,100 ; 30,20,40,38,46,84,56,79,90,100 ; 40,20,30,38,46,56,79,84,90,110 ; 20,30 38,40,46,56,79,84,90,100" "题目13:在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80时,经( )次比较后查找成功。 : 3 ; 5 ; 4 ; 2" "题目14:对序列(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中,为寻找插入的合适位置需要进行( )次元素间的比较。 : 5 ; 6 ; 4 ; 3" "题目15:排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为( )排序。 : 插入 ; 归并 ; 快速 ; 选择" "题目16:一组记录的关键字序列为(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆为( )。 : 18,20,36,59,26,25 ; 18,20,25,59,26,36 ; 26,18,59,20,36,25 ; 26,59,36,18,20,25" "题目17:一组记录的关键字序列为(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" "题目18:已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后的序列为( )。 : 28,16,34,54,62,73,60,26,43,95 ; 16,28,34,54,73,62,60,26,43,95 ; 16,28,34,54,62,60,73,26,43,95 ; 28,16,34,54,62,60,73,26,43,95" "题目19:一组记录的关键字序列为(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" "题目20:一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )。 : 39,46,41,57,80,47 ; 39,47,46,80,41,57 ; 39,80,46,47,41,57 ; 41,39,46,47,57,80" "题目21: 以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指针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== [[2]]) return (bt); p=bt; while(p->key!= [[5]]) { if(kkey) [[1]]; else [[3]]; if(p==NULL) break; } return([[4]]; } ; [[1]] -> {p=p->left / NULL / p=p->right / p / k}" "题目22: 以下程序是折半插入排序的算法 设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a 插入到已经有序的序列a[1],…a[i-1]中。 void binsort (NODE a[ ],int n) { int x,i,j,s,k,m; for (i=2;i<=[[4]];i++) { a[0]=a; x= a.key; s=1; j=i-1; while (s<=j) { m=[[1]] if( x<a[m].key) [[2]] else [[5]] } for ( k=i-1;k>=j+1;k- -) [[3]]=a[k]; a[j+1]=a[0]; } } ; [[1]] -> {(s+j)/2 / j=m-1 / a[k+1] / n / s=m+1}" "题目23: (1)设查找表为(1,10,11,14,23,27,29,55,68) ,画出对上述查找表进行折半查找所对应的判定树,为了成功查找到元素14,需要依次与元素{A; B; C; D}进行比较。 A. 23,10,1,14 B.23,29,27,14 C. 23,10,11,14 D.23,29,55,14 (2)在等概率条件下,成功查找的平均比较次数为{A; B; C; D}。 A.24/9 B. 25 /9 C.3 D.2.5 " "题目24: (1)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为{A; B; C; D}(堆顶元素是最小元素,采用树的形式建堆)。 A. 39,41,57,80,47,46 B.39,41,46,80,47,57 C. 39,47,46,80,41,57 D.39,41,57,80,46,47 (2)输出堆顶元素后,调整后的堆为{A; B; C; D}。 A.41,47,46,80,57 B.41,57,46,80,47 C.41,57,80,47,46 D.41,80,46,47,57 " "题目25: (1)对关键字序列(56,51,71,54,46,106),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为{A; B; C; D}; A. 46,51,56,54,71,106 B. 56,51,54,46,71,106 C. 46,51,54,56,71,106 D. 56,51,46,54,71,106 (2)一组记录的关键字序列为( 60,47,80,57, 39,41,46,30),利用归并排序的方法,经过(2,2)归并的结果序列为{A; B; C; D}。. A.(30, 57, 60, 80,47,39,41,46 ) B. (47, 60, 57, 80, 30,39,41,46 ) C.(41, 57, 60, 80, 30,39,47,46 ) D. (47, 57, 60, 80, 30,39,41,46 )" "题目26: (1)对关键字序列(36,69,46,28,30,74)采用快速排序,以第一个关键字为分割元素,经过一次划分后的结果序列为{A; B; C; D} A.30,28,46,36,69,74 B.28,30,36,46,69,74 C. 28,30,46,36,69,74 D. 30,28,36,46,69,74 (2)用冒泡法对上述序列排序,经两趟冒泡的结果序列为{A; B; C; D}。 A. 36,28,30,46,69,74 B. 36,46,28,20,69,74 .C. 38,36,30,46,69,74 D.28,36,,30,46,69,74" "题目27: (1)一组记录的关键字序列为{45,40,65,43,35,95}写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果为{A; B; C; D}; A. 35 40 65 45 35 95 B. 35 40 65 43 45 95 C. 35 40 43 45 65 95 D. 35 40 45 43 65 95 (2)对上述序列 利用直接插入排序,逐次插入过程中,共进行了{A; B; C; D}次元素间的比较。 A. 8 B. 11 C.9 D.10"
购买主题
已有 2 人购买
本主题需向作者支付 3 金豆 才能浏览
| |