国家开放大学《数据结构(本)》形考作业2答案

测试试题:目前测试中共有25道单选题,16道判断题,2道匹配题 ,已配置 100 分

此次作业共43道题,100分,在形成性考核成绩中占15%。

题型包括:

一、单项选择题(每小题2分,25题,共50分)

二、判断题(每小题2分,16题,共32分)

三、程序填空题(每小题9分,2题,共18分)

一、单项选择题(每小题2分,共50分)

1.

若让元素1,2,3依次进栈,则出栈顺序不可能为(   )。

单选题 (2 分) 2

3,2,1

2,1,3

3,1,2

1,3,2

2.

一个队列的入队序列是1,2,3,4。则队列的输出序列是(   )。

单选题 (2 分) 2

4,3,2,1

1,2,3,4

1,4,3,2

3,2,4,1

3.

向顺序栈中压入新元素时,应当(   )。

单选题 (2 分) 2

先移动栈顶指针,再存入元素

先存入元素,再移动栈顶指针

先后次序无关紧要

同时进行

4.

在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行(   )。

单选题 (2 分) 2

top->next=p;

p->next=top->next;top->next=p;

p->next=top;top=p;

p->next=top->next;top=top->next;

5.

在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行(   )。

单选题 (2 分) 2

x=top;top=top->next;

x=top->data;

top=top->next;x=top->data;

x=top->data;top=top->next;

6.

判断一个顺序队列(最多元素为m)为空的条件是(   )。

单选题 (2 分) 2

rear==m-1

front==rear

rear=m

front==rear+1

7.

判断一个循环队列为满的条件是(   )。

单选题 (2 分) 2

rear=MaxSize

front==rear+1

(rear+1)%MaxSize==front

rear%MaxSize= =front

8.

判断栈满(元素个数最多n个)的条件是(   )。

单选题 (2 分) 2

top==0

top!=0

top==n-1

top=-1

9.

设有一个20阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始), 则矩阵元素a6,2在一维数组B中的下标是(   )。

单选题 (2 分) 2

21

17

28

23

10.

在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个(   )结构。

单选题 (2 分) 2

堆栈

队列

数组

线性表

11.

一个递归算法必须包括(   )。

单选题 (2 分) 2

递归部分

终止条件和递归部分

迭代部分

终止条件和迭代部分

12.

在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为(   )。

单选题 (2 分) 2

r=f->next;

r=r->next;

f=f->next;

f=r->next;

13.

在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为(   )。

单选题 (2 分) 2

f->next=s;f=s;

r->next=s;r=s;

s->next=r;r=s;

s->next=f;f=s;

14.

数组a经初始化char a[ ]=“English”;a[7]中存放的是(   )。

单选题 (2 分) 2

字符串的结束符

字符h

“h”

变量h

15.

设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是(   )。

单选题 (2 分) 2

Bcd

BCd

ABC

Abc

16.

字符串 a1=”AEIJING”,a2=”AEI”,a3=”AEFANG”,a4=”AEFI”中最大的是(   )。

单选题 (2 分) 2

a1

a2

a3

a4

17.

两个字符串相等的条件是(   )。

单选题 (2 分) 2

两串的长度相等

两串包含的字符相同

两串的长度相等,并且两串包含的字符相同

两串的长度相等,并且对应位置上的字符相同

18.

一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是(   )。

单选题 (2 分) 2

64

28

70

90

19.

一个非空广义表的表头(   )。

单选题 (2 分) 2

不可能是原子

只能是子表

只能是原子

可以是子表或原子

20.

对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A,其相应的三元组表共有6个元素,矩阵A共有(   )个零元素。

单选题 (2 分) 2

8

72

74

10

21.

对稀疏矩阵进行压缩存储,可采用三元组表,一个10 行8列的稀疏矩阵A共有73个零元素,A的右下角元素为6,其相应的三元组表中的第7个元素是(   )。

单选题 (2 分) 2

(10,8,6)

(10,8,7)

(7,10,8)

(7,8,10)

22.

对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,并给该 结点赋值a,则执行: p=(struct node *)malloc(sizeof(struct node);p->data=a;和(   )。

单选题 (2 分) 2

p->next=top;top=p;

top->next=p;p=top;

top=top->next;p=top;

p->next=top;p=top;

23.

头指针为head的带头结点的单向链表为空的判定条件是(   )为真。

单选题 (2 分) 2

 head==NULL

head->next!=NULL

head->next==NULL

head->next!=NULL

24.

设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则该矩阵是(   )阶的对称矩阵。

单选题 (2 分) 2

5

20

10

15

25.

数组a经初始化char a[ ]=“English”;a[1]中存放的是(   )。

单选题 (2 分) 2

字符n

字符E

“n”

“E”

二、判断题(每小题2分,16题,共32分  )

26.

    设有一个链栈,栈顶指针为hs,现有一个s所指向的结点要入栈,则可执行操作。hs=s;

s-> next=hs;

判断题 (2 分) 2

27.

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈

结点的指针域为next,则可执行hs=hs->next ;x=hs->data;

判断题 (2 分) 2

28.

    有一个链栈,栈顶指针为h,现有一个p所指向的结点要入栈,则可执行操作p->next=h;

和h=p;

判断题 (2 分) 2

29.

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,数据域为data,则可执行hs= hs->next; x= hs->data;

判断题 (2 分) 2

30.

    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,则插入所指结点的操作为r->next=s;r=s;

判断题 (2 分) 2

31.

    在一个链队中,f和r分别为队头和队尾指针,队结点的指针域为next,s指向一个要入 队的结点,则入队操作为r=s;r->next=s;

判断题 (2 分) 2

32.

    在一个不带头结点的非空链队中,f和r分别为队头和队尾指针,队结点的数据域为data,指针域为next,若要进行出队操作,并用变量x存放出队元素的数据值,则相关操作为x=f->data; f=f->next;

判断题 (2 分) 2

33.

对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元组表共有8个元素,则矩阵A共有34个零元素。

判断题 (2 分) 2

34.

    循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当(r+1)%MaxSize=f 时表明队列已满。

判断题 (2 分) 2

35.

循环队列的队头指针为f,队尾指针为r,当r= =f时表明队列已满。

判断题 (2 分) 2

36.

空串的长度是0;空格串的长度是空格字符的个数。

判断题 (2 分) 2

37.

    对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标、和非零元素值三项信息。

判断题 (2 分) 2

38.

循环队列的引入,目的是为了克服假上溢。

判断题 (2 分) 2

39.

设有n阶对称矩阵A,用一维数组s压缩存储A的下三角元素,s的下标从零开始,元素 s[26]相应于A中的元素为a 7,5

判断题 (2 分) 2

40.

    循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,当队尾指针rear=3时队满。

判断题 (2 分) 2

41.

    循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,队尾指针rear=3时,队列中共有5个元素。

判断题 (2 分) 2

三、程序选择填空题(每小题9分,共18分。请点击正确选项,然后拖拽至相应的方框上)

42.

以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针

struct  node

{   ElemType  data;

struct  node  *next;

};

struct node *top ;

void Push(ElemType x)

        {

struct node *p;

         p=(struct node*)malloc  __(1)__;

         p->data=x;

        __(2)__;

        __(3)__;

       }

匹配题 (9 分) 9 (计分规则:按匹配正确项计分)
提示
答案
选项1

sizeof (struct node)
选项2

p->next=top

 

选项3

top=p
43.

       以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别链队列的队头、队尾指针

struct  node

{   ElemType  data;

struct  node  *next;

};

struct  node  *front,*rear;

      void InQueue(ElemType x)

        {

            struct node *p;

            p= (struct node*) malloc  __(1)__;

            p->data=x;

p->next=NULL;

           __(2)__;

            rear= __(3)__;

        }

匹配题 (9 分) 9 (计分规则:按匹配正确项计分)
提示
答案
选项1

(sizeof (struct node)

 

选项2

rear->next=p
选项3

p
© 版权声明
THE END
喜欢就支持一下吧
点赞132 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容