1、4.在数据结构中,从逻辑上可以把数据结构分成(A)。A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构5.线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D)。A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以三、简答题1.算法的特性是什么。答:有穷性 确定性 可行性 有0或多个输入 有1或多个输出 线性结构1.在一个长度为n的线性表中删除第i个元素(1in)时, 需向前移动(n-i)个元素。2.从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。3.在线性表的单链接存储中,若一个元素
2、所在结点的地址为p,则其后继结点的地址为(p-next)。4.在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p-next)的值赋给q-next,然后(q-date)的值赋给p-next。5.从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。6.子串的定位操作通常称做串的(模式匹配)。7.设目标T=abccdcdccbaa,模式P=cdcc则第(六)次匹配成功。8. 顺序栈 S 中 , 出 栈操作时 要执行的 语句序列 中有 S-top(-);进栈操作时要执行的语句序列中有S-top(+)。9.顺序表中逻辑上相邻元素的物理位置(一定)紧邻;单链表中
3、逻辑上相邻元素的物理位置(不一定)紧邻。10.在(循环)链表中,从任何一结点出发都能访问到表中的所有结点。11.栈和队列均是(运算受限)的线性表,栈的特点是(先进后出 后进先出);队列的特点是(先进先出 后进后出)。12.通常,在程序中使用的串可分为串常量和串变量;而串按存储方式又可分为(定长顺序存储)和(堆分配存储)。13.循环队列头指针front指向队头元素,队尾指针rear指向队 尾元素后的一个空闲元素,队列的最大空间为Queuelen。在循环队列中 , 队空标志为(front=rear), 队满标志为(rear+1)%max=front)。 当rear=front时,队列长度为(rea
4、r-front),当rearnext=null)。17.在一个单链表中删除指针p所指向结点的后继结点时,需要把(p-next-next)值赋给p-next指针域。18.一个顺序循环队列存于aM中,假定队首和队尾指针分别 为front和rear,则判断队空的条件为( a.front=a.rear),判断队满的条件为(a.rear+1)%M=a.front)。19.在双向链表中,每个结点有两个指针域,一个指向其(前驱) 结点,另一个指向其(后继)结点,最后一个结点的(后继结点)指针域为空。*20. 若 D=(a , (b , c) , e , a) , 则 Head( D )=( ) ,Tail(
5、 D )=( ),Head(Tail( D )=( )。(本人不会)21.在循环链表中,每个结点有(一个)个指针域,指向其(后继)结点,最后一个结点的指针域(为空)。*22. 若 S=(a , (b , c) , e , d) , 则 Head( S )=( ) , Tail( S )=( ),Head(Tail( S )=( )。1.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行(A)。A.s-link=p-link; p-link=s; B.p- s-link=q;C.p-link=s-link=p; D.q-2.对于顺序存储的队列,存储空间
6、大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数(A)。A.R-F B.n+R-F C.(R-F+1)mod n D.(n+R-F)mod n3.如下陈述中正确的是(A)。A.串是一种特殊的线性表 B.串的长度必须大于零C.串中元素只能是字母 D.空串就是空白串4.若让元素1,2,3依次进栈,则出栈次序不可能出现(C)的情况。A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,25.判定一个队列QU(最多元素为m0)为空的条件是(C)。A.QU-rear-QU-front=m0 B.QU-front-1=m0 C.QU-front=QU-rear D.QU-re
7、ar+16.设目标串S=abcdef,模式串p=de,则第(C)次匹配成功。A.1 B.2 C.4 D.57.设字符串s1=ABCDEFG,S2=PQRST,T,sub1,sub2为空串 。 则运算 s=Concat(T , SubString(sub1 , s1 , 2 , SubLength(s2),SubString(sub2,s1,SubLength(s2),2) 后的串T值为( D)。A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF8.一个顺序线性表第一个元素的存储地址是100,每个元素的 长度为2,则第5个元素的地址是( B)。A.100 B.108 C.1
8、10 D.1209.非空的循环单链表head的尾结点(由p所指向)满足(C)。A.p-next=NULL B.p=NULLnext=head D.p=head10.在一个链队中,假设f和r分别为队首和队尾指针,则删除一个结点的运算时(C)。A.r=f-next; B.r=r-C.f=f- D.f=r-11.在一个长度为n的线性表中,删除值为x的元素时,需要比 较元素和移动元素的总次数为(C)。A.(n+1)/2 B.n/2 C.n D.n+112.在一个单链表中,若要在p所指向的结点之后插入一个新结 点,则需要相继修改(B)个指针域的值。A.1 B.2 C.3 D.413.线性结构中,每个结点
9、(C)。A.无直接前驱 B.只有一个直接前驱和个数不受限制的直接后继 C.只有一个直接前驱和后继 D.有个数不受限制的直接前驱和后继 14.队列是限定在(D)进行操作的线性表。A.中间 B.队头 C.队尾 D.端点15.设串S1=“ABCDEFG”,S2=“PQRST”,函数StrCat(x,y)返回x和y串的连接串,函数StrSub(S,i,j)返回串S的从序号i 的字符开始的j个字符组成的子串,StrLen(S)返回串S的长度, 则StrCat(StrSub(S1,2,StrLen(S2),StrSub(S1,StrLen (S2),2)的结果串是(D)。A.BCDEF B.BCDEFG
10、C.BCPQRST D.BCDEFEF16.学生成绩表是一种(C)结构。A.图形 B.树形 C.线性 D.集合 17.在一个链队中,假设f和r分别为队首和队尾指针,则插入s 所指结点的运算时(C)。A.f-next=s; f=s; B.r- r=s; C.s-next=r; D.s-next=f;18.向顺序表中的i位置处插入元素,下面哪项能够准确的表明i的位置是合法的。(D)A.il-length+1 B.i=1C.i=l-length+1 D.1=i B.q-next=p;next=s- D.p-next=s;next=q;20.一个栈的入栈序列为a,b,c,d,e,则出栈序列不可能的是(
11、C)。A.edcba B.dcbae C.dceab D.abcde 21.如果以链表作为栈的存储结构,则出栈操作时(B)。A.必须判别栈是否满 B.必须判别栈是否为空C.必须判别栈元素类型 D.可不做任何判断 22.设有两个串p和q,求q在p中首次出现的位置的运算称为 (B)。A.连接 B.模式匹配 C.求子串 D.求串长23.p指向线性链表中的某一结点,则在线性链表的表尾插入结点S的语句序列是(A)。A.while(p-next!=NULL) p=p-next=N ULL;B.while(p!next=NULL;C.while(p-p-D.while(p!-s-next=p24.向顺序栈中压入新元素时,应当(A)。A.先移动栈顶指针,再存入元素 B.先存入元素,再移动栈顶指针C.先后次序无关紧要 D.同时进行25.假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为(D)。f+1=r B.r+1=f C.f=0 D.f=r26.栈的插入和删除操作在(A)进行。A.栈顶 B.栈底 C.任意位置 D.指定位置27.栈和队列的共同点是(C)。A.都是先进后出 B.都是先进先出C.只允许在端点处插入和删除元素 D.没有共同点 28.若6行8列的数组以列序为主序顺序存储,基地址
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1