当前位置: 代码迷 >> 综合 >> Python计算机二级考试公共基础知识01
  详细解决方案

Python计算机二级考试公共基础知识01

热度:31   发布时间:2024-03-09 23:27:08.0

11.下列叙述中正确的是:

A、能采用顺序存储的必定是线性结构

B、所有的线性结构都可以采用顺序存储结构

C、具有两个以上指针的链表必定是非线性结构

D、循环队列是队列的链式存储结构

B【解析】所有的线性结构都可以用数组保存,即都可以采用顺序存储结构。而反过来不可以,完全二叉树也能用数组保存(按层次依次存放到数据元素中),但完全二叉树不属于非线性结构。双向链表具有两个以上的指针,但属于线性结构。循环队列是队列的顺序存储结构。

 

12.下列叙述中正确的是:

A、在栈中,栈顶指针的动态变化决定栈中元素的个数

B、在循环队列中,队尾指针的动态变化决定队列的长度

C、在循环链表中,头指针和链尾指针的动态变化决定链表的长度

D、在线性链表中,头指针和链尾指针的动态变化决定链表的长度

A【解析】在栈中,通常用指针 top 来指示栈顶的位置,用指针 bottom 指向栈底。栈顶指针 top 动

态反应了栈中元素的变化情况。在循环队列中,队头指针和队尾指针的动态变化决定队列的长度。链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,故头指针和尾指针或栈顶指针无法决定链表长度。

 

13.设栈的存储空间为 S(1:50),初始状态为 top=-1。现经过一系列正常的入栈与退栈操作后,

top=30,则栈中的元素个数为:

A、20   B、19    C、31    D、30 加 QQ

D【解析】栈的初始状态为 top=-1 表示栈为空,经过一系列正常的入栈与退栈操作后 top=30,则空

间(1:30)中插入了元素,共 30 个。

 

14.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1,则栈中的数据元素个数为:

A、top-m+1   B、m-top+1   C、m-top   D、top-m

B【解析】栈的初始状态 top=m+1,说明栈空时 top=m+1(m 在栈底,1 是开口向上的),入栈时栈

顶指针是减操作(top=top-1),退栈时栈顶指针是加操作(top=top+1)。本题可以假设栈中有 x 个元素,当 x=0 时,也就是栈中没有元素,则 top=m+1;当 x=m 时,也就是栈满,则 top=1,由此可

以得出 top=m+1-x,继而得出 x=m-top+1。

 

15.设栈的存储空间为 S(1:m),初始状态为 top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素进栈,栈顶指针 top 值变为:

A、0   B、发生栈满的错误   C、m   D、2

B【解析】栈的初始状态为 top=m+1,说明栈空时 top=m+1,入栈时栈顶指针是减操作(top=top-

1),退栈时栈顶指针是加操作(top=top+1)。栈满时 top=1,说明栈中不能再进行入栈操作(“上溢”错误)。

 

16.设栈的存储空间为 S(1:m),初始状态为 top=m+1。经过一系列入栈与退栈操作后,top=m。现又

在栈中退出一个元素后,栈顶指针 top 值为:

A、0   B、m-1   C、m+1   D、产生栈空错误

C【解析】栈的顺序存储空间为 S(1: m),初始状态 top=m+1,所以这个栈是 m 在栈底,1 是开口向

上的。经过一系列入栈与退栈操作后 top=m,则栈中有 1 个元素,若现在又退出一个元素,那么栈顶指针下移一位,回到 m+1 的位置。

 

17.下列叙述中正确的是:

A、循环队列是顺序存储结构

B、循环队列是链式存储结构

C、循环队列空的条件是队头指针与队尾指针相同

D、循环队列的插入运算不会发生溢出现象

A【解析】循环队列是队列的一种顺序存储结构。在循环队列中,在队列满和队列为空时,队头指针与队尾指针均相同;当需要插入的数据大于循环队列的存储长度,入队运算会覆盖前面的数据,发生溢出现象。

 

18.下列叙述中正确的是:

A、在循环队列中,队尾指针的动态变化决定队列的长度

B、在循环队列中,队头指针和队尾指针的动态变化决定队列的长度

C、在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度

D、在带链的栈中,栈顶指针的动态变化决定栈中元素的个数加 QQ

B【解析】在循环队列中,队头指针和队尾指针的动态变化决定队列的长度。带链的栈和带链的队列均采用链式存储结构,而在这种结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,故头指针和尾指针或栈顶指针无法决定链表长度。

 

19.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为:

A、1,或 50 且产生上溢错误    B、51    C、26    D、2

A【解析】在循环队列运转起来后,当 front=rear=25 时可知队列空或者队列满,此后又插入了一个元素,如果之前队列为空,插入操作之后队列里只有一个元素;如果插入之前队列已满(50 个元素),执行插入则会产生溢出错误。

 

20.循环队列的存储空间为 Q(1:40),初始状态为 front=rear=40。经过一系列正常的入队与退队操作后,front=rear=15,此后又退出一个元素,则循环队列中的元素个数为:

A、14   B、15   C、40   D、39,或 0 且产生下溢错误

D【解析】在循环队列运转起来后,当 front=rear=15 时可知队列空或者队列满,此后又退出一个元素,如果之前队列为空,退出操作会产生错误,队列里有 0 个元素;如果退出之前队列已满(40 个元素),执行退出后,队列里还有39 个元素。

  相关解决方案