1、 (A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性 (C)确定性、有穷性和稳定性 (D)易读性、稳定性和安全性二、判断题 1.数据的机内表示称为数据的存储结构。( ) 2.算法就是程序。( ) 3.数据元素是数据的最小单位。4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。5.算法的时间复杂度取决于问题的规模和待处理数据的初态。( )三、填空题 1.数据逻辑结构包括_集合_、_线性_、_树形_ 和_图状_四种类型,其中树形结构和图形结构合称为_非线性_。2.在线性结构中,第一个结点_没有_前驱结点,其余每个结点有且只有_1_个前驱结点;最后一个结点_没有_后续结点,其余每
2、个结点有且只有_1_个后续结点。3.在树形结构中,树根结点没有_前驱_结点,其余每个结点有且只有_1_个前驱结点;叶子结点没有_后继_结点,其余每个结点的后续结点可以_任意多个_。4.在图形结构中,每个结点的前驱结点数和后续结点数可以_任意多个_。5.线性结构中元素之间存在_一对一_关系,树形结构中元素之间存在_一对多_关系,图形结构中元素之间存在_多对多_关系。6.算法的五个重要特性是_有穷性_、_确定性_、_可行性_、_输入_、_输出_。7.数据结构的三要素是指_数据元素_、_逻辑结构_和_存储结构_。8.链式存储结构与顺序存储结构相比较,主要优点是_插入、删除、合并等操作较方便_。9.设
3、有一批数据元素,为了最快的存储某元素,数据结构宜用_顺序存储_结构,为了方便插入一个元素,数据结构宜用_链式存储_结构。四、算法分析题 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/4T(n)/n21,故它的时间复杂度为(n2), 即(n)与n2 数量级相同。2、分析下列算法段的时间频度及时间复杂度 for (i=1;ii+) for (j=1;j=i;j+)
4、for ( k=1;knext=p;p-next=s; (B) s-next=p-next;(C)s-p=s; (D)p-s-5.在一个单链表中,若删除p所指结点的后续结点,则执行(A ) (A)p-next- (B)p=p- p-(C)p- (D)p =p-6.下列有关线性表的叙述中,正确的是( A) (A)线性表中的元素之间隔是线性关系 (B)线性表中至少有一个元素 (C)线性表中任何一个元素有且仅有一个直接前趋 (D)线性表中任何一个元素有且仅有一个直接后继 7.线性表是具有n个(C )的有限序列(n0)(A)表元素 (B)字符 (C)数据元素 (D)数据项 1.线性表的链接存储,表中元
5、素的逻辑顺序与物理顺序一定相同。2.如果没有提供指针类型的语言,就无法构造链式结构。3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。4.语句p=p-next完成了指针赋值并使p指针得到了p指针所指后继结点的数据域值。5.要想删除p指针的后继结点,我们应该执行q=p-next ;next=q-next; free(q)。1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:_ s-next ;_ 。2.顺序表中逻辑上相邻的元素物理位置_一定_相邻, 单链表中逻辑上相邻的元素物理位置_不一定_相邻。3.线性表L(a1,a2,.,an)采用顺序
6、存储,假定在不同的n1个位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是_ n/2_ 4.在非空双向循环链表中,在结点q的前面插入结点p的过程如下:prior=q-prior;q-prior-next=q;_ q-prior=p;_;5.已知L是无表头结点的单链表,是从下列提供的答案中选择合适的语句序列,分别实现:(1)表尾插入s结点的语句序列是_6) 3)_(2) 表尾插入 s结点的语句序列是_2) 9)1) 7)_1. p-2. p=L;3. L=s;4. p-next=s-5. s-6. s-next=L;7. s-next=null;8. while(p-next!= Q
7、)? p=p-next;9. while(p-=null) p=p-第三章 栈和队列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=m04.判定一个栈ST(最多元素为m0)为栈满的
8、条件是(B)。(A)ST-top!=0 (B)ST-top=0 (C)ST-=m0-1(D)ST-top=m0-15.一个队列的入列序列是1,2,3,4,则队列的输出序列是(B)。(A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,16.循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear则当前队列中的元素个数是(B)(A)(rear-front+m)%m (B) rear-front+1 (C)rear-front-1(D)rear-front7.栈和队列的共同点是(C )(A) 都是先进后出 (B)都是先进先出(C)只允许在端点处插入和
9、删除元素(D)没有共同点8.表达式a*(b+c)-d的后缀表达式是(C )。(A)abcd*+-(B)abc+*d- (C)abc*+d-(D)-+*abcd9.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,a110.以数组Q0.m1存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是(D)(A)rearqulen(B)rearqulenm(C)mqulen
10、(D)1(rearmqulen)% 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. 常对数组进行的
11、两种基本操作是( C)(A)建立与删除(B)索引和修改(C)查找和修改(D)查找与索引2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M35的起始地址与M按列存储时元素(B ) 的起始地址相同。(A)M24(B)M34(C)M35(D)M443.数组A810中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是(C)。(A)80(B)100(C)240(D)2704.数组A810中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A74的起始地址为(C )。(A)SA+141(B
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1