数据结构--重修作业题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
一、选择题
3.在数据结构中,从逻辑上可以把数据结构分成()
(A)动态结构和静态结构(B)紧凑结构和非紧凑结构
(C)线性结构和非线性结构(D)内部结构和外部结构
5.算法分析的目的是()。
(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系
(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性
二、判断题
1.数据的机内表示称为数据的存储结构。()
2.算法就是程序。()
5.算法的时间复杂度取决于问题的规模和待处理数据的初态。()
三、填空题
1.数据逻辑结构包括________、________、_________ 和_________四种类型,其中树形结构和图形结构合称为_____。
2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______个前驱结点;最后一个结点______后续结点,其余每个结点有且只有_______个后续结点。
3.在树形结构中,树根结点没有_______结点,其余每个结点有且只有_______个前驱结点;叶子结点没有________结点,其余每个结点的后续结点可以
_________。
4.在图形结构中,每个结点的前驱结点数和后续结点数可以_________。
5.线性结构中元素之间存在________关系,树形结构中元素之间存在______关系,图形结构中元素之间存在_______关系。
8.链式存储结构与顺序存储结构相比较,主要优点是
________________________________。
9.设有一批数据元素,为了最快的存储某元素,数据结构宜用_________结构,为了方便插入一个元素,数据结构宜用____________结构。
四、算法分析题,求下列算法段的语句频度及时间复杂度
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
for ( k=1;k<=j;k++)
x=i+j-k;
第二章线性表
一、选择题
1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )
(A)110 (B)108(C)100 (D)120
2. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。
(A)64(B)63 (C)63.5 (D)7
3.线性表采用链式存储结构时,其地址()。
(A) 必须是连续的(B) 部分地址必须是连续的
(C) 一定是不连续的(D) 连续与否均可以
4. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()
(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)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)线性表中的元素之间隔是线性关系
(B)线性表中至少有一个元素
(C)线性表中任何一个元素有且仅有一个直接前趋
(D)线性表中任何一个元素有且仅有一个直接后继
7.线性表是具有n个()的有限序列(n≠0)
(A)表元素(B)字符(C)数据元素(D)数据项
二、判断题
1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。()
3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。()
三、填空题
1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:
_______________________ 。
2.顺序表中逻辑上相邻的元素物理位置( )相邻,单链表中逻辑上相邻的元素物理位置_________相邻。
四、算法设计题
对于结点类型为LNode的单链表,编写出下列每个算法。
(1)删除单链表中的第i个结点。
(2)在有序单链表中插入一个元素x的结点。
(3)从单链表中查找出所有元素的最大值,该值由函数返回,若单链表为空,则显示出错信息并停止运行。
(4)统计出单链表中结点的值等于给定值x的结点数。
第三章栈和队列
一、选择题
1. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。(A)edcba(B)decba(C)dceab (D)abcde
2.栈结构通常采用的两种存储结构是()。
(A)线性存储结构和链表存储结构(B)散列方式和索引方式
(C)链表存储结构和数组(D)线性存储结构和非线性存储结构
3.判定一个栈ST(最多元素为m0)为空的条件是()。
(A)ST.top!=0 (B)ST.top==0
(C)ST.top!=m0 (D)ST.top=m0
4.判定一个栈ST(最多元素为m0)为栈满的条件是()。
(A)ST.top!=0 (B)ST->top==0
(C)ST.top!=m0-1(D)ST.top==m0-1
5.一个队列的入列序列是1,2,3,4,则队列的输出序列是()。
(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则当前队列中的元素个数是()
(A)(rear-front+m)%m (B)rear-front+1 (C)rear-front-1(D)rear-front 7.栈和队列的共同点是()
(A)都是先进后出(B)都是先进先出
(C)只允许在端点处插入和删除元素(D)没有共同点
9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是()
(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分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是()
(A)rear-qulen (B)rear-qulen+m