数据结构与算法复习(2)

一、 单选题
2、顺序存储,存储单元的地址( )。
A、 一定连续
B、 一定不连续
C、 不一定连续
D、 部分连续,部分不连续
正确答案: A
4、广度优先遍历类似于二叉树的( )。
A、 先序遍历
B、 中序遍历
C、 后序遍历
D、 层序遍历
正确答案: D
5、若需要利用形式参数直接访问修改实参值,则应将形参说明为( )参数。
A、 值参数
B、 实地址
C、 指针
D、 地址参数
正确答案: C
6、一棵具有N个结点的二叉树采用二叉链表进行存储,其中空指针域有( )个。
A、 N+1
B、 N
C、 N-1
D、 不确定
正确答案: A
7、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度和在给定值为x的结点后插入一个新结点的时间复杂度分别为( )。
A、 O(1),O(n)
B、 O(n),O(n)
C、 O(1),O(1)
D、 O(n),O(1)
正确答案: A

链表插入首先需要定位。
给出了位置以后只需要O(1)的时间复杂度来完成插入
没给位置的话需要遍历链表来找到对应位置,时间复杂度O(n)

8、在稀疏矩阵的三元组顺序表中,每个三元组表示( )。
A、 矩阵中数据元素的行号、列号和数据值
B、 矩阵中非零元素的数据值
C、 矩阵中数据元素的行号和列号
D、 矩阵中非零元素的行号、列号和数据值
正确答案: D

9、某算法的时间复杂度是O(n2),表明该算法的( )。
A、 执行时间与n2成正比
B、 问题规模是n2
C、 执行时间等于n2
D、 问题规模与n2成正比
正确答案: A
10、设有两个串p和q ,其中q是p的子串,求q在p中首次出现的位置的算法称为( )。
A、 串的模式匹配
B、 求子串
C、 串联接
D、 求串长
正确答案: A
11、对n个不同的排序码进行冒泡(递增)排序,在下列( )情况比较的次数最多。。
A、 从大到小排列好的
B、 从小到大排列好的
C、 元素无序
D、 元素基本有序
正确答案: A
12、若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1…(n(n+1))/2]中,则在B中确定aij(i
A、 j(j-1)/2+i
B、 i(i-1)/2+j
C、 i(i+1)/2+j
D、 j(j+1)/2+i
正确答案: B
13、串是一种特殊的线性表,其特殊性体现在( )。
A、 数据元素是字符
B、 顺序存储
C、 链式存储
D、 逻辑结构是线性结构
正确答案: A
14、若串S= ‘software’,其前缀真子串的数目是( )。
A、 7
B、 10
C、 9
D、 8
正确答案: A
15、表达式a*(b+c)-d的后缀表达式是( )。
A、 abc*+d-
B、 cb+a*d-
C、 abc+xd-
D、 abcd+x-
正确答案: C

后缀表达式同前缀
分析C,先是出现bc+被读取到,所以是b+c
a b+c x被读取
——》a*(b+c)
a*(b+c)d -
——》a*(b+c)- d

16、已知一如下10个记录的表,其关键字序列为(2,15,19,25,30,34,44,55,58,80),用折半查找法查找关键字为55的记录,比较次数是( )。
A、 1次
B、 2次
C、 3次
D、 4次
正确答案: B
18、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
A、 s->next=p->next;p->next=s;
B、 p->next=s;s->next=p->next;
C、 p->next=s;p->next=s->next;
D、 p->next=s->next;p->next=s;
正确答案: A
19、深度优先遍历类似于二叉树的( )。
A、 先序遍历
B、 中序遍历
C、 后序遍历
D、 层次遍历
正确答案: A
20、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后随即进入队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是( )。
A、 3
B、 6
C、 4
D、 2
正确答案: A

首先观察2
可知12进栈,2出栈(2)
然后4,可知34进栈,4出栈(3)
3
56进栈,6出栈,5出栈(3)
1出栈(1)
期间最高同时存在了三个栈中元素
所以容量至少为3

21、以下数据结构中,( )是非线性数据结构。
A、 树
B、 字符串
C、 队
D、 栈
正确答案: A
22、树最适合用来表示的结构是( )。
A、 元素间具有分支及层次关系的结构
B、 元素间的有序结构
C、 元素间的无序结构
D、 元素间无联系的结构
正确答案: A
23、已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有( )个叶子结点。
A、 10
B、 11
C、 12
D、 13
正确答案: C
24、具有12个关键字的有序表,折半查找的平均查找长度( )。
A、 10/12
B、 25
C、 25/12
D、 37/12
正确答案: D
解析: 将12个数画成完全二叉树(1+22+34+4*5)/12=37/12

折半查找判定树

25、任意一棵二叉树的叶子结点在其先序、中序、后序序列中的相对位置( )。
A、 肯定发生变化
B、 肯定不发生变化
C、 有时发生变化
D、 无法确定
正确答案: B
26、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
A、 O(n)
B、 O(0)
C、 O(1)
D、 O(n2)
正确答案: A
27、函数strcmp(‘stcabuc’,‘stbabuc’)的返回值是( )。
A、 0
B、 -1
C、 2
D、 1
正确答案: D

字符串比较
str1>str2,返回正数

28、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A、 顺序表
B、 双链表
C、 带头结点的双循环链表
D、 单循环链表
正确答案: A
29、最大容量为n的循环队列,队尾指针为rear,队头指针为front,则队满的条件是( )。
A、 rear=front
B、 (rear+1)%n=front
C、 rear+1=front
D、 (rear-l)%n=front
正确答案: B
31、如果含有n个顶点的图形成一个环,则它有( )棵生成树。
A、 n
B、 n-1
C、 n+1
D、 不确定
正确答案: A

最重要的还是断开环

32、衡量查找算法效率的主要标准是( )。
A、 平均查找长度
B、 元素个数
C、 所需的存储量
D、 算法难易程度
正确答案: A

查找效率高,主要是需要降低平均查找长度

33、关键路径是事件结点网络中( )。
A、 从源点到汇点的最长路径
B、 最长回路
C、 从源点到汇点的最短路径
D、 最短回路
正确答案: A
34、栈和队列都是( )。
A、 限制存取点的非线性结构
B、 顺序存储的线性结构
C、 链式存储的非线性结构
D、 限制存取点的线性结构
正确答案: D
35、对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()。
A、 head→next=NULL;
B、 head=NULL;
C、 head→next=he;
D、 head!=NULL;
正确答案: A
36、已知串 S=‘aaab’,其next函数值为( )。
A、 0123
B、 1123
C、 1231
D、 1211
正确答案: A
39、设某顺序表中第一个元素的地址是se(下标从1开始),每个结点占m个单元,则第i个结点的地址为()。
A、 se+(i-1)×m
B、 se+(i+1)×m
C、 se+i×m
D、 se-i×m
正确答案: A
40、设森林T中有4棵树,其结点个数分别为n1,n2,n3,n4,那么当森林T转换成一棵二叉树后,则根结点的右子树上有( )个结点。
A、 n2+n3+n4
B、 n1-1
C、 n1
D、 n1+n2+n3
正确答案: A
二、 多选题
3、最小生成树的构造可使用( )算法。
A、 Prim算法
B、 Kruskal算法
C、 哈夫曼算法
D、 迪杰斯特拉算
正确答案: AB
4、在数据结构中,从存储结构上可以将之分为( )。
A、 顺序结构
B、 非顺序结构
C、 紧凑结构和非紧凑结构
D、 线性结构和非线性结构
正确答案: AB
5、在稀疏矩阵的三元组顺序表中,每个三元组表示( )。
A、 矩阵中非零元素的行号
B、 矩阵中非零元素的列号
C、 矩阵中数据元素的行号和列号
D、 矩阵中非零元素的数据值
正确答案: ABD
6、在数据结构中,从逻辑上可以把数据结构分成( )。
A、 线性结构
B、 树型结构
C、 图状结构
D、 集合
正确答案: ABCD
9、下列陈述中不正确的是( )。
A、 二叉树中最多只有两棵子树,且有左右子树之分
B、 二叉树是度为2的有序树
C、 二叉树中结点只有一个孩子时无左右之分
D、 二叉树中必有度为2的结点
正确答案: BCD

不是度为2的树!仅有一个结点时也有左右之分,只有根的二叉树没有度2结点
所以BCD都错误

10、下面正确的说法是( )。
A、 任何一个关键活动提前完成,将使整个工程提前完成
B、 关键活动不按期完成就会影响整个工程的完成时间
C、 所有关键活动都提前完成,则整个工程提前完成
D、 某些关键活动若提前完成,将使整个工程提前完成
正确答案: BCD

工程完成的时间点受所有关键活动的制约

11、对线性表进行折半查找时,要求线性表( )。
A、 没有要求
B、 关键字有序
C、 顺序存储
D、 没有正确答案
正确答案: BC
15、关于哈希查找,以下说法正确的是( )。
A、 哈希查找中,记录的存储地址是计算出来的,因而不需要比较
B、 装填因子越大,越容易产生冲突
C、 哈希查找有两个关键问题:哈希函数和处理冲突的方法
D、 链地址法和线性探测再散列都是解决冲突的方法
正确答案: BCD
三、 判断题
2、线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。
正确答案: 正确
解析:

3、在二叉树排序树中插入一个新结点,总是插入到叶结点下面。
正确答案: 正确
解析:

是的,这样的思路也使得最后的树平均查找长度可能高于预期

4、求稀疏图的最小生成树,用克鲁斯卡尔算法来求解较好。
正确答案: 正确
解析:

稀疏图用Kruskal算法比较好
稠密图则推荐Prim

5、算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
正确答案: 错误
6、如果一个串中所有的字母均在另一个串中出现,则说明前者是后者的子串。
正确答案: 错误
7、存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的上三角(或下三角)部分就可以了。
正确答案: 正确
8、在二叉排序树上删除一个结点时,不必移动其它结点,只要将该结点的父结点的相应的指针域置空即可。
正确答案: 错误

对剩下的树要进行调整结构

9、程序一定是算法。
正确答案: 错误
10、串’student’和’Student’相等。
正确答案: 错误

字符串识别大小写

11、由同一关键字集合构造的各棵二叉排序树形态和平均查找长度都不一定相同
正确答案: 正确
12、有n个元素存放在一维数组A[1…n]中,在进行顺序查找时,这n个数的不同排列,其平均查找长度不同。
正确答案: 错误
13、满二叉树一定完全是二叉树。
正确答案: 正确
14、静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
正确答案: 正确
15、二叉树的遍历结果不是唯一的。
正确答案: 正确
16、具有n个叶子结点的哈夫曼树共有2n-1个结点。
正确答案: 正确
18、Hash表的平均查找长度与处理冲突的方法无关。
正确答案: 错误
20、有向图不能进行广度优先遍历。
正确答案: 错误
21、串的存储结构有顺序串、堆串和块链串三种。
正确答案: 正确
23、从逻辑结构上看,n维数组的每个元素均属于n个向量。
正确答案: 正确
24、消除递归不一定需要使用栈。
正确答案: 正确
26、一棵树中的叶子数一定等于与其对应的二叉树的叶子数。
正确答案: 错误
27、散列查找不是利用查找表中数据元素的关系进行查找的方法。
正确答案: 正确
28、若一个无向图的以顶点V1为起点进行深度优先遍历,所得的遍历序列唯一,则可以唯一确定该图。
正确答案: 正确
29、模式串 P=‘abaabcac’的next函数值序列为01122312。
正确答案: 正确
解析:若按我们学过的公式:next[j]=-1,0,0,1,1,2,0,1

30、在对不带头结点的链队列作出队操作时,不会改变头指针的值。
正确答案: 错误

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值