第一章绪论

绪论

1、单选题:
‌以下与数据的存储结构无关的术语是‌
选项:
A: 循环队列
B: 链表
C: 哈希表
D: 栈
答案: 【 栈

2、单选题:
​数据结构中数据之间的逻辑关系被称为‌
选项:
A: 数据的存储结构
B: 数据的基础操作
C: 程序的算法
D: 数据的逻辑结构
答案: 【 数据的逻辑结构

3、单选题:
‍算法分析的目的是‌
选项:
A: 找出数据结构的合理性
B: 研究算法中的输入和输出的关系
C: 分析算法的效率以求改进
D: 分析算法的易读性和文档性
答案: 【 分析算法的效率以求改进

4、判断题:
​数据项是数据的最小单位​
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
​每种数据结构都应具备三种基本运算:插入、删除和查找。‍
选项:
A: 正确
B: 错误
答案: 【 错误

6、判断题:
​算法独立于具体的程序设计语言,与具体的计算机无关。​
选项:
A: 正确
B: 错误
答案: 【 正确

7、填空题:
‏数据结构中评价算法的两个重要指标是‏
答案: 【 时间复杂度和空间复杂度

8、填空题:
​数据结构是由数据的           、               和              三部分组成。‎
答案: 【 逻辑结构、存储结构、运算

课堂练习

1、填空题:
‍分析以下算法的时间复杂度。​‍int fun(int n){int i=1,j=100 ;while (i<n) {    ++j;     i+=2;      }}​
答案: 【 O(n)

2、填空题:
分析以下算法的时间复杂度。‎int fun(int n){int i=1,s=1 ;while (s<n)       s+=++i ;return i;}‎‌‎
答案: 【 O(根号n)

第二章栈

几种表达式

1、单选题:
‎中缀表达式(A+B)*(C-D)/(E-F*G)的后缀表达式是​
选项:
A: A+B*C-D/E-F*G
B: AB+CD-*EFG*-/
C: AB+C*D-E/F-G*
D: ABCDEFG+*-/-*
答案: 【 AB+CD-*EFG*-/

1、单选题:
​若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是‌
选项:
A: d,c,e,b,f,a
B: c,b,d,a,e,f
C: b,c,a,e,f,d
D: a,f,e,d,c,b
答案: 【 a,f,e,d,c,b

2、单选题:
‏表达式a*(b+c)-d的后缀表达式是‏
选项:
A: abcd*+-
B: abc+*d-
C: abc*+d-
D: -+*abcd
答案: 【 abc+*d-

3、单选题:
​输入序列为ABC,可以变成CBA时,经过的栈操作为‏
选项:
A: push,pop,push,pop,push,pop
B: push,push,push,pop,pop,pop
C: push,push,pop,pop,push,pop
D: push,pop,push,push,pop,pop
答案: 【 push,push,push,pop,pop,pop

4、判断题:
‍同一组不重复输入序列执行不同的入、出栈组合操作,所得结果也可能相同。‍
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‏设栈采用顺序存储结构。若已有i-1个元素入栈,则将第i个元素入栈时,入栈算法的时间复杂性为O(i)。‏
选项:
A: 正确
B: 错误
答案: 【 错误

6、判断题:
‏栈是实现过程和函数等子程序必须的结构。​
选项:
A: 正确
B: 错误
答案: 【 正确

7、填空题:
‍栈是受限的线性表,其运算遵循                    的原则。‍
答案: 【 FILO,或者LIFO,或者先进后出,或者后进先出

8、填空题:
​设a=6,b=4,c=2,d=3,e=2,则后缀表达式abc-/de*+的值为                          ‏
答案: 【 9

9、填空题:
‏有五个数据依次进栈:1,2,3,4,5.在各种出栈的序列中,以3,4先出栈的序列有                     个。‏
答案: 【 3

栈的LIFO特性

1、单选题:
‍设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是?‌
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 3

2、单选题:
‍如进栈序列1,2,3,4,5.可能得到的出栈序列为?‏
选项:
A: 1,2,5,3,4
B:  3,1,2,5,4
C: 3,2,5,4,1
D: 1,4,2,3,5
答案: 【 3,2,5,4,1

栈的顺序实现

1、判断题:
‍顺序存储结构要求连续的存储区域,在存储管理上不够灵活,因此不常用。‍
选项:
A: 正确
B: 错误
答案: 【 错误

2、判断题:
​对任何数据结构,链式存储结构一定优于顺序存储结构。‏
选项:
A: 正确
B: 错误
答案: 【 错误

第三章队列

队列的定义

1、单选题:
​栈和队列的共同点是‎
选项:
A: 都是先进先出
B: 都是后进先出
C: 只允许在端点处插入和删除元素
D: 没有共同点
答案: 【 只允许在端点处插入和删除元素

2、判断题:
‎栈和队列都是操作受限的线性表。栈是插入和删除只能在一端进行的线性表;队列是插入在一端进行,删除在另一端进行的线性表。​
选项:
A: 正确
B: 错误
答案: 【 正确

队列的顺序实现

1、单选题:
‌已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是​
选项:
A: 0,0
B: 0,n-1
C: n-1,0
D: n-1,n-1
答案: 【 0,n-1

2、填空题:
​循环队列的引入,目的是为了克服‍
答案: 【 假溢出时大量移动元素

顺序队列

1、单选题:
‏为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是                                   ​
选项:
A: 栈
B: 队列
C: 树
D: 图
答案: 【 队列

2、单选题:
‌已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是‌
选项:
A: 0,0
B: 0,n-1
C: n-1,0
D: n-1,n-1
答案: 【 0,n-1

3、单选题:
‏允许对队列进行的操作有‌
选项:
A: 对队列中元素排序
B: 取出最近进队列的元素
C: 在队头元素之前插入元素
D: 删除队头元素
答案: 【 删除队头元素

4、判断题:
‎栈和队列都是顺序存取的线性表,但它们对存取位置的限制不同。‌
选项:
A: 正确
B: 错误
答案: 【 正确

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注