|
福师《数据结构概论》在线作业一
附件就是答案需要的可以自己下载
一、单选题:
1.在下面的程序段中,对x的赋值语句的频度为( )FOR i:=1 TO n DOFOR j:=1 TO n DO x:=x+1; (满分:2)
A. O(2n)
B. O(n)
C. O(n^2)
D. O(log2n)
2.适用于折半查找的表的存储方式及元素排列要求为( ) (满分:2)
A. 链接方式存储,元素无序
B. 链接方式存储,元素有序
C. 顺序方式存储,元素无序
D. 顺序方式存储,元素有序
3.下面有关算法说法错误的是( ) (满分:2)
A. 算法最终必须由计算机程序实现
B. 为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性
D. 以上几个都是错误的
4.从逻辑上可以把数据结构分为( )两大类 (满分:2)
A. 动态结构、静态结构
B. 顺序结构、链式结构
C. 线性结构、非线性结构
D. 初等结构、构造型结构
5.求解最短路径的Floyd算法的时间复杂度为( )。 (满分:2)
A. O(n)
B. O(n+c)
C. O(n*n)
D. O(n*n*n)
6.若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。 (满分:2)
A. 前序
B. 中序
C. 后序
D. 按层次
7.算法的计算量的大小称为计算的( ) (满分:2)
A. 效率
B. 复杂性
C. 现实性
D. 难度
8.下面给出的四种排序法中( )排序法是不稳定性排序法。 (满分:2)
A. 插入
B. 冒泡
C. 二路归并
D. 堆
9.数组A[0..4,-1..-3,5..7]中含有元素的个数( ) (满分:2)
A. 55
B. 45
C. 36
D. 16
10.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行 ( )次比较。 (满分:2)
A. 3
B. 10
C. 15
D. 25
11.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( ) (满分:2)
A. m-n
B. m-n-1
C. n+1
D. 条件不足,无法确定
12.要连通具有n个顶点的有向图,至少需要( )条边。 (满分:2)
A. n-l
B. n
C. n+l
D. 2n
13.下面给出的四种排序法中( )排序法是不稳定性排序法。 (满分:2)
A. 插入
B. 冒泡
C. 二路归并
D. 堆
14.连续存储设计时,存储单元的地址( ) (满分:2)
A. 一定连续
B. 一定不连续
C. 不一定连续
D. 部分连续,部分不连续
15.线性表是具有n个( )的有限序列。 (满分:2)
A. 表元素
B. 字符
C. 数据元素
D. 数据项
16.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( )排序为宜。 (满分:2)
A. 直接插入
B. 直接选择
C. 堆
D. 快速
17.已知串S=‘aaab’,其Next数组值为( ) (满分:2)
A. 0123
B. 1123
C. 1231
D. 1211
18.有n个叶子的哈夫曼树的结点总数为( )。 (满分:2)
A. 不确定
B. 2n
C. 2n+1
D. 2n-1
19.设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。 (满分:2)
A. 线性表的顺序存储结构
B. 队列
C. 线性表的链式存储结构
D. 栈
20.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( ) (满分:2)
A. 求子串
B. 联接
C. 匹配
D. 求串长
21.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) (满分:2)
A. 9
B. 11
C. 15
D. 不确定
22.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) (满分:2)
A. (N+1)/2
B. N/2
C. N
D. [(1+N)*N ]/2
23.线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( ) (满分:2)
A. O(i)
B. O(1)
C. O(n)
D. O(i-1)
24.对稀疏矩阵进行压缩存储目的是( )。 (满分:2)
A. 便于进行矩阵运算
B. 便于输入和输出
C. 节省存储空间
D. 降低运算的时间复杂度
25.已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是( ) (满分:2)
A. head(tail(tail(L)))
B. tail(head(head(tail(L))))
C. head(tail(head(tail(L))))
D. head(tail(head(tail(tail(L)))))
二、多选题:
1.采用二叉链表作存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的 (满分:2)
A. 错误
B. 正确
2.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省。 (满分:2)
A. 错误
B. 正确
3.任何一棵二叉树都可以不用栈实现前序线索树的前序遍历( ) (满分:2)
A. 错误
B. 正确
4.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. (满分:2)
A. 错误
B. 正确
5.循环队列通常用指针来实现队列的头尾相接。 (满分:2)
A. 错误
B. 正确
三、判断题:
6.栈是实现过程和函数等子程序所必需的结构。 (满分:2)
A. 错误
B. 正确
7.循环链表不是线性表. (满分:2)
A. 错误
B. 正确
8.队列和栈都是运算受限的线性表,只允许在表的两端进行运算。 (满分:2)
A. 错误
B. 正确
9.顺序查找法适用于存储结构为顺序或链接存储的线性表( ) (满分:2)
A. 错误
B. 正确
10.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。 (满分:2)
A. 错误
B. 正确
11.当待排序的元素很多时,为了交换元素的位置,移动元素要占用较多的时间,这是影响时间复杂度的主要因素( ) (满分:2)
A. 错误
B. 正确
12.任一查找树(二叉分类树)的平均查找时间都小于用顺序查找法查找同样结点的线性表的平均查找时间( ) (满分:2)
A. 错误
B. 正确
13.消除递归不一定需要使用栈,此说法( ) (满分:2)
A. 错误
B. 正确
14.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省( )。 (满分:2)
A. 错误
B. 正确
15.若一个广义表的表头为空表,则此广义表亦为空表。 (满分:2)
A. 错误
B. 正确
16.通常使用队列来处理函数或过程的调用( ) (满分:2)
A. 错误
B. 正确
17.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的( ) (满分:2)
A. 错误
B. 正确
18.排序算法中的比较次数与初始元素序列的排列无关( ) (满分:2)
A. 错误
B. 正确
19.直接选择排序算法在最好情况下的时间复杂度为O(N)( ) (满分:2)
A. 错误
B. 正确
20.折半查找法的查找速度一定比顺序查找法快( ) (满分:2)
A. 错误
B. 正确
1.下面关于线性表的叙述中,正确的是( ) (满分:2)
A. 线性表采用顺序存储,必须占用一片连续的存储单元。
B. 线性表采用顺序存储,便于进行插入和删除操作。
C. 线性表采用链接存储,不必占用一片连续的存储单元。
D. 线性表采用链接存储,便于插入和删除操作。
2.下面几个符号串编码集合中,是前缀编码的是( ) (满分:2)
A. {0
10
110
1111}
B. {11
10
001
101
0001}
C. {00
010
0110
1000}
D. {b
c
aa
ac
aba
abb
abc}
3.下面关于哈希(Hash)查找的说法不正确的是( ) (满分:2)
A. 哈希函数构造的越复杂越好,因为这样随机性好,冲突小
B. 除留余数法是所有哈希函数中最好的
C. 不存在特别好与坏的哈希函数,要视情况而定
D. 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可
4.在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形可能出现的是( )。 (满分:2)
A. G中有弧<Vi,Vj>
B. G中有一条从Vi到Vj的路径
C. G中没有<Vi
Vj>
D. G中有一条从Vj到Vi的路径
5.下面关于求关键路径的说法正确的是( ) (满分:2)
A. 求关键路径是以拓扑排序为基础的
B. 一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同
C. 一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差
D. 关键活动一定位于关键路径上
福师《数据结构概论》在线作业二
一、单选题:
1.要连通具有n个顶点的有向图,至少需要( )条边。 (满分:2)
A. n-l
B. n
C. n+l
D. 2n
2.适用于折半查找的表的存储方式及元素排列要求为( ) (满分:2)
A. 链接方式存储,元素无序
B. 链接方式存储,元素有序
C. 顺序方式存储,元素无序
D. 顺序方式存储,元素有序
3.已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是( )。 (满分:2)
A. head(tail(tail(L)))
B. tail(head(head(tail(L))))
C. head(tail(head(tail(L))))
D. head(tail(head(tail(tail(L)))))
4.下面的程序段中,对x的赋值语句的频度为( )FOR i:=1 TO n DOFOR j:=1 TO n DO x:=x+1; (满分:2)
A. O(2n)
B. O(n)
C. O(n^2)
D. O(log2n)
5.广义表运算式Tail(((a,b),(c,d)))的操作结果是( )。 (满分:2)
A.(c
d)
B. c
d
C.((c
d))
D. d
6.求解最短路径的Floyd算法的时间复杂度为( )。 (满分:2)
A. O(n)
B. O(n+c)
C. O(n*n)
D. O(n*n*n)
7.算法的时间复杂度是由( )决定的。 (满分:2)
A. 问题的规模
B. 待处理数据的初态
C. A和B
D. 变量个数
8.一个算法应该是( )。 (满分:2)
A. 程序
B. 问题求解步骤的描述
C. 要满足五个基本特性
D. A和C.
9.在完全二叉树中,若一个结点是叶结点,则它没( ) (满分:2)
A. 左子结点
B. 右子结点
C. 左子结点和右子结点
D. 左子结点,右子结点和兄弟结点
10.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( ) (满分:2)
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
C. 3 4 6 5 2 1
D. 2 3 4 1 5 6
11.从逻辑上可以把数据结构分为( )两大类。 (满分:2)
A. 动态结构、静态结构
B. 顺序结构、链式结构
C. 线性结构、非线性结构
D. 初等结构、构造型结构
12.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列( ) (满分:2)
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
C. 3 4 6 5 2 1
D. 2 3 4 1 5 6
13.树的后根遍历序列等同于该树对应的二叉树的( ) (满分:2)
A. 先序序列
B. 中序序列
C. 后序序列
D. 都不正确
14.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行 ( )次比较。 (满分:2)
A. 3
B. 10
C. 15
D. 25
15.在一棵二叉树上第5层的结点数最多是( ) (满分:2)
A. 8
B. 16
C. 32
D. 15
16.以下数据结构中,( )是非线性数据结构 (满分:2)
A. 树
B. 字符串
C. 队
D. 栈
17.散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。 (满分:2)
A. 最大概率
B. 最小概率
C. 平均概率
D. 同等概率
18.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( ) (满分:2)
A. CABDEFG
B. ABCDEFG
C. DACEFBG
D. ADCFEG
19.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( ) (满分:2)
A. CABDEFG
B. ABCDEFG
C. DACEFBG
D. ADCFEG
20.若串S=’software’,其子串的数目是( ) (满分:2)
A. 8
B. 37
C. 36
D. 9
21.散列函数有一个共同的性质,即函数值应当以( )取其值域的每个值。 (满分:2)
A. 最大概率
B. 最小概率
C. 平均概率
D. 同等概率
22.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行( )次比较。 (满分:2)
A. 3
B. 10
C. 15
D. 25
23.动态存储管理系统中,通常可有( )种不同的分配策略。 (满分:2)
A. 1
B. 2
C. 3
D. 4
24.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=( )。 (满分:2)
A. 808
B. 818
C. 1010
D. 1020
25.下面叙述正确的是( ) (满分:2)
A. 算法的执行效率与数据的存储结构无关
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数
C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止
D. 以上三种描述都不对
二、多选题:
1.集合与线性表的区别在于是否按关键字排序。 (满分:2)
A. 错误
B. 正确
2.直接选择排序算法在最好情况下的时间复杂度为O(N)。 (满分:2)
A. 错误
B. 正确
3.用一维数组存储二叉树时,总是以前序遍历顺序存储结点。 (满分:2)
A. 错误
B. 正确
4.链表中的头结点仅起到标识的作用。 (满分:2)
A. 错误
B. 正确
5.在顺序存储结构中,有时也存储数据结构中元素之间的关系( ) (满分:2)
A. 错误
B. 正确
三、判断题:
6.对一棵二叉树进行层次遍历时,应借助于一个栈( ) (满分:2)
A. 错误
B. 正确
7.两分法插入排序所需比较次数与待排序记录的初始排列状态相关。 (满分:2)
A. 错误
B. 正确
8.栈是实现过程和函数等子程序所必需的结构( ) (满分:2)
A. 错误
B. 正确
9.算法的优劣与算法描述语言无关,但与所用计算机有关( ) (满分:2)
A. 错误
B. 正确
10.栈是实现过程和函数等子程序所必需的结构。 (满分:2)
A. 错误
B. 正确
11.栈和队列都是限制存取点的线性结构。 (满分:2)
A. 错误
B. 正确
12.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. (满分:2)
A. 错误
B. 正确
13.折半查找法的查找速度一定比顺序查找法快( ) (满分:2)
A. 错误
B. 正确
14.若一个广义表的表头为空表,则此广义表亦为空表。 (满分:2)
A. 错误
B. 正确
15.一棵一般树的结点的前序遍历和后序遍历分别与它相应二叉树的结点前序遍历和后序遍历是一致的。 (满分:2)
A. 错误
B. 正确
16.线性表的特点是每个元素都有一个前驱和一个后继。 (满分:2)
A. 错误
B. 正确
17.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好( ) (满分:2)
A. 错误
B. 正确
18.二维以上的数组其实是一种特殊的广义表。 (满分:2)
A. 错误
B. 正确
19.队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。 (满分:2)
A. 错误
B. 正确
20.完全二叉树一定存在度为1的结点。 (满分:2)
A. 错误
B. 正确
1.下面关于线性表的叙述中,正确的是( ) (满分:2)
A. 线性表采用顺序存储,必须占用一片连续的存储单元。
B. 线性表采用顺序存储,便于进行插入和删除操作。
C. 线性表采用链接存储,不必占用一片连续的存储单元。
D. 线性表采用链接存储,便于插入和删除操作。
2.下面关于二分查找的叙述不正确的是( ) (满分:2)
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序,而且只能从小到大排列
C. 表必须有序且表中数据必须是整型,实型或字符型
D. 表必须有序,且表只能以顺序方式存储
3.下面关于求关键路径的说法正确的是( ) (满分:2)
A. 求关键路径是以拓扑排序为基础的
B. 一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同
C. 一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差
D. 关键活动一定位于关键路径上
4.下面关于哈希(Hash)查找的说法不正确的是( ) (满分:2)
A. 哈希函数构造的越复杂越好,因为这样随机性好,冲突小
B. 除留余数法是所有哈希函数中最好的
C. 不存在特别好与坏的哈希函数,要视情况而定
D. 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可
5.下面说法正确的是( ) (满分:2)
A. 广义表的表头总是一个广义表
B. 广义表的表尾总是一个广义表
C. 广义表难以用顺序存储结构
D. 广义表可以是一个多层次的结构
|
|