国家开放大学电大《数据结构》网络课形考任
务4作业及答案
档任务4
一、单项选择题(每小题2分,共40分) 题目1 对线性表进行二分查找时,要求线性表必须()= 选择一项: A、 以链接存储方式 B、 以链接存储方式,且数据元素有序 C、 以顺序存储方式 D、 以顺序存储方式,且数据元素有序 题目2 采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。
选择一项: A、 n B、 (n-l)/2 C、 n/2 D、 (n+l)/2 题目3 有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()、 选择一项: A、29/9 B、29/10 C、26/10 D、31/10 题目4 已知一个有序表为(11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。
选择一项: A、6 B、3 C、5 D、4 题目5 有数据
(53,30,37,12,45,24,96}、从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序 列是()o 选择一项: A、12,24,30,37,45,53,96 B、30,24,12,37,45,96,53 C、45,24,53,12,37,96,30 D、37,24,12,30,53,45,96 题目6 对于顺
第 1 页 共 7 页
序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是()、 选择一项: A、4 B、6 C、3 D、5 题目7 在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()? 选择一项: A、 希尔捧序 B、 直涯序 C、 冒泡排序 D、 直接插入捶序 题目8 从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称 为()。
选择一项: A、 插入拌序 B、 选择排序 C、 归并排序 D、 交换排序 题目9 依次将每两个相邻的有序表合并成一个有序表的排序方法称为() 选择一项: A、 交换排序 B、 归并排序 C、 插入排序 D、 选择捶序 题目10 当两个元素出现逆序的时候就交换位置,这种排序方法称为()? 选择一项: A、 选择捶序 B、 插入擂序 C、 归并捶序 D、 交换排序 题目11 每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中 记录的关键字均大于等于基准记录的关键字,这种排序称为()。
选择一项: A、 插入排序 B、 快鞘序 C、 堆排序 D、 归并排序 题目12 一组记录的关键字序列为(46,20,30,79,5
6、38,40,84,90,110),利用快速排序,以第一个关键字为分割元素, 经过一次划分后结果为()? 选择一项: A、40,20,30,38,46,56,79,84,90,110 B、
20,3038,40,46,56,79,84,90,100 C、20,30,40,3
第 2 页 共 7 页
8、46,79,5
6、84,90,100 D、30,20,40,38,46,84,5
6、79,90,100 题目13 在有序表{10,14,34,43,47,6 4、75,80、90}中,用折半查找法查找值80时,经()次比较后查找成功。
选择一项: A、5 B、3 C、2 D、4 题目14 对序列
(49,38,65,97,76,13,47,50)采用直接插入排序法进行排序,要把第七个元素47插入到已排序中, 为寻找插入的合适位置需要进行( )次元素间的比较。
选择一项: A、3 B、4 C、6 D、5 题目15 排序方法中,从未捶序序列中挑选元素,并将其依次放入已排序序列(初始为空)的一端的方法,称为()排序。
选择一项: A、 插入 B、 快速 C、 归并 D、 选择 题目16 一组记录的关键字序列为(2
6、5 9、3
6、18,20、25),利用堆排序的方法建立的初始小根堆为()。
选择一项: A、26,18,59,20,36,25 B、18,20,25,59,26,36 C、18,20,36,59,26,25 D、26,59,36,18,20,25 题目17 一组记录的关键字序列为(25,4
8、16,35,7
第 3 页 共 7 页
9、82,23,40,36,72),其中,含有5个长度为2的有序表,按归 并排序的方法对该序列进行一趟归并后的结果为()? 选择一项: A、16,25,35,48,79,23,36,40,82,72 B、
16,25,35,48,23,40,79,82,36,72 C、16,25,48,35,79,82,23,3
6、40、72 D、16,25,35,48,79,82,23,36,40,72 题目18 已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列从小到大排序,经过一趟冒泡排序后 的序列为()- 选择一项: A、16,2
8、34,54,62,60,73,26,43,95 B、28,16,34,54,62,73,60,26,43,95 C、16,2
8、34,54,73,62,60、26,43,95 D、
28,16,34,54,62,60,73,26,43,95 题目19 一组记录的关键字序列为(4
6、7
9、56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分 后结果为()、 选择一项: A、40,38,46,84,56,79 B、40,38,46,79,56,84 C、
38,40,46,56,79,84 D、40,38,46,56,79,84 题目20 一组记录的关键字序列为(80,57,41,39,46,47),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为( )、 选择一项: A、39,80,46,47,41,57 B、39,46,41,57,80,47 C、41,39,46,47,57,80 D、39,47,46,80,41,57
第 4 页 共 7 页
二、程序填空JS ??10分,2题,共20分、请点击正确选项,然后拖拽至相应的方框上) 题目21 以下函数是二叉排序树的查找算法,若二叉树为空,则返回根结点的指针,否则,返回值是指向树结点的结构指 针P (查找成功P指向查到的树结点,不成功P指向为NULL)完成程序中的空格 typedef struct Bnode ( int key; struct Bnode *left; struct Bnode *right; )
Bnode; Bnode *BSearch(Bnode *bt, int k)
r bt用于接收二叉排序倒的根结点的指针,k用以接收要直找的关键字〃 ( Bnode *p; if(bt== NULL 寸)
return (bt); P=bt; while(p->key!= k 寸) { if(kkey)
p=p->left 寸; else p=p->right y ; if(p==NULL) break; } return( p v \\ } 题目22 以下程序是折半插入排序的算法 设待排序的记录序列存放在a[l],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i]插入到已经有序的序 void binsort (NODE a[ ]jnt n)
{ intxjj、sKm; for (i=2 ; i=j+1;k--) a[k+l] v =a[k]; a[j+1]=a[Oj; } } 三、综合题(每小题8分,共40分)
题目23 (1)设查找表为(1,10,11,14,23,27,29,55,68),画出对上述直找表进行折半直找所对应的判定树,为了成功查 找到元素14,需要依次与元素C = V进行比较。A 、2
第 5 页 共 7 页
3、10、 1、14B、2 3、2 9、2 7、14 C、2 3、10,1 1、14 D、2 3、2
9、55,14 (2 )在等概率条件下,成功查找的平均比较次数为B # V。A 、24/9 B、25/9C、3D、
2、5 题目2424L5 7、8°4
7、46 B、3g±、4BCDp4 7、57 0-3g、4 7、4
6、8°4L57 D、3 9、4L5700P4
6、47 Q 淳任A “ ? 、潜白—>¥竺少on爵油 翌c ” ?4 6、5L5
6、54m 二。6 B、5 6、5L5 4、4
第 6 页 共 7 页
6、7二06 0-4 6、5L5 4、5
6、7L106 0、5 6、5L4 6、5
4、71M674 ?0-3 8、3
6、3。、46 念、74 D、2B、363P4
6、6W74 S27 (--、4。、65\\3 ?35 ?951任迷前一港圆岩教圳研? 座3&性d)曹醐涉00 < - A354065453595 B354。
654345959354043456595 D?354045436595 (2 )对上述序511利用直接插入排序,逐次插入过程中,共进行了 D W /次元素间的比较? A、8 B、11C、9 D10
第 7 页 共 7 页
相关推荐: