数据结构训练题.docx
- 文档编号:2794046
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:12
- 大小:28.52KB
数据结构训练题.docx
《数据结构训练题.docx》由会员分享,可在线阅读,更多相关《数据结构训练题.docx(12页珍藏版)》请在冰豆网上搜索。
数据结构训练题
第一章绪论
一、选择题
1.组成数据的基本单位是(C)
(A)数据项(B)数据类型(C)数据元素(D)数据变量
2.数据结构是研究数据的(C)以及它们之间的相互关系。
(A)理想结构,物理结构(B)理想结构,抽象结构
(C)物理结构,逻辑结构(D)抽象结构,逻辑结构
3.在数据结构中,从逻辑上可以把数据结构分成(C)
(A)动态结构和静态结构(B)紧凑结构和非紧凑结构
(C)线性结构和非线性结构(D)内部结构和外部结构
4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①A)以及它们之间的(②B)和运算等的学科。
①(A)数据元素(B)计算方法(C)逻辑存储(D)数据映像
②(A)结构(B)关系(C)运算(D)算法
5.算法分析的目的是(C)。
(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系
(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性
6.计算机算法指的是(①C),它必须具备输入、输出和(②B)等5个特性。
①(A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法
②(A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性
(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性
二、判断题
1.数据的机内表示称为数据的存储结构。
(√)
2.算法就是程序。
(×)
3.数据元素是数据的最小单位。
(×)
4.算法的五个特性为:
有穷性、输入、输出、完成性和确定性。
(×)
5.算法的时间复杂度取决于问题的规模和待处理数据的初态。
(√)
三、填空题
1.数据逻辑结构包括__集合__、__线性__、__树形__和__图状__四种类型,其中树形结构和图形结构合称为__非线性__。
2.在线性结构中,第一个结点__没有__前驱结点,其余每个结点有且只有__1__个前驱结点;最后一个结点__没有__后续结点,其余每个结点有且只有__1__个后续结点。
3.在树形结构中,树根结点没有__前驱__结点,其余每个结点有且只有__1__个前驱结点;叶子结点没有__后继__结点,其余每个结点的后续结点可以__任意多个__。
4.在图形结构中,每个结点的前驱结点数和后续结点数可以__任意多个__。
5.线性结构中元素之间存在__一对一__关系,树形结构中元素之间存在__一对多__关系,图形结构中元素之间存在__多对多__关系。
6.算法的五个重要特性是__有穷性__、__确定性__、__可行性__、__输入__、__输出__。
7.数据结构的三要素是指__数据元素__、__逻辑结构__和__存储结构__。
8.链式存储结构与顺序存储结构相比较,主要优点是__插入、删除、合并等操作较方便__。
9.设有一批数据元素,为了最快的存储某元素,数据结构宜用__顺序存储__结构,为了方便插入一个元素,数据结构宜用__链式存储__结构。
四、算法分析题
1.求下列算法段的语句频度及时间复杂度
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
x=x+1;
分析:
该算法为一个二重循环,执行次数为内、外循环次数相乘,但内循环次数不固定,与外循环有关,因些,时间频度T(n)=1+2+3+…+n=n*(n+1)/2
有1/4≤T(n)/n2≤1,故它的时间复杂度为O(n2),即T(n)与n2数量级相同。
2、分析下列算法段的时间频度及时间复杂度
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
for(k=1;k<=j;k++)
x=i+j-k;
分析算法规律可知时间频度T(n)=1+(1+2)+(1+2+3)+...+(1+2+3+…+n)
由于有1/6≤T(n)/n3≤1,故时间复杂度为O(n3)
第二章线性表
一、选择题
1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(B)
(A)110(B)108(C)100(D)120
2.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动(C)个元素。
(A)64(B)63(C)63.5 (D)7
3.线性表采用链式存储结构时,其地址(D)。
(A)必须是连续的(B)部分地址必须是连续的
(C)一定是不连续的(D)连续与否均可以
4.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行(B)
(A)s->next=p;p->next=s;(B)s->next=p->next;p->next=s;
(C)s->next=p->next;p=s;(D)p->next=s;s->next=p;
5.在一个单链表中,若删除p所指结点的后续结点,则执行(A)
(A)p->next=p->next->next;(B)p=p->next;p->next=p->next->next;
(C)p->next=p->next;(D)p=p->next->next;
6.下列有关线性表的叙述中,正确的是(A)
(A)线性表中的元素之间隔是线性关系
(B)线性表中至少有一个元素
(C)线性表中任何一个元素有且仅有一个直接前趋
(D)线性表中任何一个元素有且仅有一个直接后继
7.线性表是具有n个(C)的有限序列(n≠0)
(A)表元素(B)字符(C)数据元素 (D)数据项
二、判断题
1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。
(×)
2.如果没有提供指针类型的语言,就无法构造链式结构。
(√)
3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。
(×)
4.语句p=p->next完成了指针赋值并使p指针得到了p指针所指后继结点的数据域值。
(×)
5.要想删除p指针的后继结点,我们应该执行q=p->next;p->next=q->next;free(q)。
(√)
三、填空题
1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:
__s->next=p->next;p->next=s;__。
2.顺序表中逻辑上相邻的元素物理位置__一定__相邻,单链表中逻辑上相邻的元素物理位置__不一定__相邻。
3.线性表L=(a1,a2,...,an)采用顺序存储,假定在不同的n+1个位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是__n/2__
4.在非空双向循环链表中,在结点q的前面插入结点p的过程如下:
p->prior=q->prior;
q->prior->next=p;
p->next=q;
__q->prior=p;__;
5.已知L是无表头结点的单链表,是从下列提供的答案中选择合适的语句序列,分别实现:
(1)表尾插入s结点的语句序列是_______________6)3)______________
(2)表尾插入s结点的语句序列是___________2)9)1)7)______________
1.p->next=s;
2.p=L;
3.L=s;
4.p->next=s->next;
5.s->next=p->next;
6.s->next=L;
7.s->next=null;
8.while(p->next!
=Q)?
p=p-next;
9.while(p->next!
=null)p=p->next;
第三章栈和队列
一、选择题
1.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(C)。
(A)edcba(B)decba(C)dceab(D)abcde
2.栈结构通常采用的两种存储结构是(A)。
(A)线性存储结构和链表存储结构(B)散列方式和索引方式
(C)链表存储结构和数组(D)线性存储结构和非线性存储结构
3.判定一个栈ST(最多元素为m0)为空的条件是(B)。
(A)ST-〉top!
=0(B)ST-〉top==0
(C)ST-〉top!
=m0(D)ST-〉top=m0
4.判定一个栈ST(最多元素为m0)为栈满的条件是(B)。
(A)ST->top!
=0(B)ST->top==0
(C)ST->top!
=m0-1(D)ST->top==m0-1
5.一个队列的入列序列是1,2,3,4,则队列的输出序列是(B)。
(A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,1
6.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear则当前队列中的元素个数是(B)
(A)(rear-front+m)%m(B)rear-front+1(C)rear-front-1(D)rear-front
7.栈和队列的共同点是(C)
(A)都是先进后出(B)都是先进先出
(C)只允许在端点处插入和删除元素(D)没有共同点
8.表达式a*(b+c)-d的后缀表达式是(C)。
(A)abcd*+-(B)abc+*d-(C)abc*+d-(D)-+*abcd
9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是( C )
(A)a4,a3,a2,a1 (B)a3,a2,a4,a1
(C)a3,a1,a4,a2 (D)a3,a4,a2,a1
10.以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是( D )
(A)rear-qulen (B)rear-qulen+m
(C)m-qulen (D)1+(rear+m-qulen)%m
二、填空题
1.栈的特点是____先进后出____,队列的特点是___先进先出___。
2.线性表、栈和队列都是___线性___结构,可以在线性表的___任何__位置插入和删除元素,对于栈只能在___栈顶__插入和删除元素,对于队列只能在___队尾__插入元素和___对头__删除元素。
3.一个栈的输入序列是12345,则栈有输出序列12345是___正确___。
(正确/错误)
4.设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳__3__个元素。
第五章数组和广义表
一、选择题
1.常对数组进行的两种基本操作是(C)
(A)建立与删除(B)索引和修改(C)查找和修改(D)查找与索引
2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素(B)的起始地址相同。
(A)M[2][4](B)M[3][4](C)M[3][5](D)M[4][4]
3.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是(C)。
(A)80(B)100(C)240(D)270
4.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[7][4]的起始地址为(C)。
(A)SA+141(B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 训练