第1章 绪论与C语言介绍

测验1

1、单选题:
下列算法的时间复杂度是( )。‏for(i=1;i<=n;i++)‏  c[i]=i;‏
选项:
A: O(1)
B: O(n)
C: O()
D: O()
答案: 【 O(n)

2、判断题:
‍数据结构研究的主要内容包括逻辑结构、存储结构和数据之间的运算。‏
选项:
A: 正确
B: 错误
答案: 【 正确

3、判断题:
‍沃思(N.Wirth)教授曾提出:程序+数据结构=算法。‏
选项:
A: 正确
B: 错误
答案: 【 错误

4、填空题:
‏数据的逻辑结构包括()和非线性结构两大类。‍
答案: 【 线性结构

第2章 线性表的结构分析与应用

测验1

1、单选题:
‎下列有关线性表的叙述中,正确的是(    )。‏
选项:
A: 线性表中的元素之间是线性关系
B: 线性表中至少有一个元素
C: 线性表中任何一个元素有且仅有一个直接前趋
D: 线性表中任何一个元素有且仅有一个直接后继
答案: 【 线性表中的元素之间是线性关系

2、单选题:
已知线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态。(  )​void f30(SeqList *L)​{​     int  i,j;​     for (i=j=0;i<L->length; i++)​    if(L->data[i]>=0)​    {​   if(i!=j)  L->data[j]=L->data[i];​   j++;}​         L->length=j;​ }​
选项:
A: L=(-7,-8,0,-11,-10)
B: L=(21,19,34,30)
C: L=(21,19,0,34,30)
D: L=(-7,-8,-11,-10)
答案: 【 L=(21,19,0,34,30)

3、填空题:
‏线性表a的数据元素的长度为2,在顺序存储结构下LOC(a0) =100,则LOC(a5) =()。‌
答案: 【 110

4、填空题:
​在一个长度为n的顺序表中第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动()个元素。‌
答案: 【 n-i+1##%_YZPRLFH_%##n-1+i

测验2

1、单选题:
‍在单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行(   )。​
选项:
A: s->next=p->next; p->next=s;
B: p->next=s->next; s->next=p;
C: p->next=p; p->next=s;
D: p->next=s; p->next=s;
答案: 【 s->next=p->next; p->next=s;

2、单选题:

删除下图单链表中的q结点,执行的两条语句是什么?

‍选项:
A: p->next=q; free(q);
B: p->next=q->next; free(q);
C: p=q->next; free(q);
D: p=q; free(q);
答案: 【 p->next=q->next; free(q);

3、判断题:
​顺序表适合插入和删除运算,单链表适合查找运算。(   )‏
选项:
A: 正确
B: 错误
答案: 【 错误

第3章 栈和队列的结构分析与应用

栈和队列单元作业

1、单选题:
​假设以S和X分别表示进栈和出栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得到的输出序列为()。​
选项:
A: baced
B: bceda
C: edcba
D: cbaed
答案: 【 bceda

2、单选题:
‎设数组Data[n]作为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则执行入队操作的语句为(   )。‍
选项:
A: Q->rear=(Q->rear+1)%(n+1)
B: Q->front=(Q->front+1)% n
C: Q->rear=(Q->rear+1)% n
D: Q->front=(Q->front+1)%(n+1)
答案: 【 Q->rear=(Q->rear+1)% n

3、单选题:
‌栈和队列的共同点在于()。​
选项:
A: 都对存储方法作了限制
B: 都是只能进行插入、删除运算
C: 都对插入、删除的位置作了限制
D: 都对插入、删除两种操作的先后顺序作了限制
答案: 【 都对插入、删除的位置作了限制

4、判断题:
‏栈的操作原则是先进先出或者后进后出。(  )‏
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
‏顺序栈执行进栈操作之前要判断栈是否为空。(  )‏
选项:
A: 正确
B: 错误
答案: 【 错误

6、填空题:
‍设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳(   )个元素。‌
答案: 【 4

7、填空题:
‍循环队列用数组A[0,7]存放其元素值,已知其头尾位置分别是front=6和rear=2,其中front为队头元素的位置,rear为队尾元素的下一个空闲位置,则当前队列中的元素个数是( )。‎
答案: 【 4

栈的测验1

1、单选题:
​顺序栈中变量top是记录( )元素位置。‏
选项:
A: 最底端
B: 最顶端
C: 最中间
D: 不确定
答案: 【 最顶端

2、判断题:
​数据元素1,2,3顺序进栈,允许任意出栈,出栈可以得到6种序列。‏
选项:
A: 正确
B: 错误
答案: 【 错误

3、判断题:
‌栈的操作原则是先进后出或者后进先出。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‎顺序栈采用一维数组存储。‎
选项:
A: 正确
B: 错误
答案: 【 正确

栈的测验2

1、单选题:
‍链栈与顺序栈相比,比较明显的优点是()。‌
选项:
A: 插入操作更加方便
B: 删除操作更加方便
C: 不会出现下溢情况
D: 不会出现上溢情况
答案: 【 不会出现上溢情况

2、单选题:
‎下列哪个选项可以实现链栈进栈操作( )。‎
选项:
A: p->next=*top;*top=p;
B: p=*top;*top=p;
C: p->next=*top;top=p;
D: p->next=top;*top=p;
答案: 【 p->next=*top;*top=p;

队列测验1

1、单选题:
顺序循环队列共8个向量空间,如果队头front位置为6,队尾rear位置为3,那么队列中一共有()个元素。‏
选项:
A: 3
B: 4
C: 5
D: 6
答案: 【 5

2、判断题:
‍队列的操作原则是先进后出或者后进先出。‌
选项:
A: 正确
B: 错误
答案: 【 错误

队列测验2

1、单选题:
‍链队列Q的头指针为front,尾指针为rear,下面哪个选项可以完成链队列的出队操作()。‏
选项:
A: p->Q->front;Q->front=p;free(p);
B: p->Q->front;Q=p->next;free(p);
C: p->Q->front;Q->front=p->next;free(p);
D: p->Q->rear;Q->front=p->next;free(p);
答案: 【 p->Q->front;Q->front=p->next;free(p);

2、判断题:
‍链队列进队操作,不存在出现上溢情况。()‎
选项:
A: 正确
B: 错误
答案: 【 正确

第4章 字符串的结构分析与应用

测验1

1、单选题:
‏执行result=strcmp("that","this");之后,result的结果为()。‍
选项:
A: -1
B: 0
C: 1
D: 2
答案: 【

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

发表评论

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