当前位置:文档之家› 数据结构考试题库

数据结构考试题库

绪论一、填空题1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。

2. 物理结构是数据结构在计算机中的表示,又称为(存储结构)。

3. 数据元素的逻辑结构包括(线性)、(树)和图状结构3 种类型,树形结构和图状结构合称为(非线性结构)。

4. (数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。

5. 线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。

? 6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关系)和(运筹)等的学科。

7. 算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。

二、选择题1. 数据的不可分割的基本单位是(D)。

A.元素B.结点C数据类型D.数据项*2. 线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。

A.正确B.不正确C不确定 D.无法选择3. 线性结构是指数据元素之间存在一种(D)。

A.一对多关系B.多对多关系C多对一关系D.—对一关系4. 在数据结构中,从逻辑上可以把数据结构分成(A)。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C线性结构和非线性结构D.内部结构和外部结构5. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D)。

A.必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续不连续都可以三、简答题1. 算法的特性是什么。

答:有穷性确定性可行性有0 或多个输入有 1 或多个输出线性结构一、填空题1•在一个长度为n的线性表中删除第i个元素(1< i产时,需向前移动(n-i)个元素。

2. 从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。

3•在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p-> next)。

4. 在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。

5. 从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。

6. 子串的定位操作通常称做串的(模式匹配)。

7. 设目标T= ‘ abccdcdccba,模式P= ‘ cdc则第(六)次匹配成功。

8. 顺序栈S 中,出栈操作时要执行的语句序列中有S->top(--);进栈操作时要执行的语句序列中有S->top(++)。

9. 顺序表中逻辑上相邻元素的物理位置(一定)紧邻;单链表中逻辑上相邻元素的物理位置(不一定紧邻。

10. 在(循环)链表中,从任何一结点出发都能访问到表中的所有结点。

11. 栈和队列均是(运算受限)的线性表,栈的特点是(先进后出后进先出);队列的特点是(先进先出后进后出)。

12. 通常,在程序中使用的串可分为串常量和串变量;而串按存储方式又可分为(定长顺序存储)和(堆分配存储)。

13. 循环队列头指针front 指向队头元素,队尾指针rear 指向队尾元素后的一个空闲元素,队列的最大空间为Queuelen 。

在循环队列中,队空标志为(front==rear ),队满标志为((rear+1)%max==front)。

当rear>=front 时,队列长度为(rear-front ),当rear<front 时,队列长度为(rear-fro nt+max )。

14. 在一个长度为n的线性表中的第i个元素(1< i孕之前插入一个元素时,需向后移动(n-i+1)个元素。

15. 在具有n个单元的循环队列中,队满时共有(n-1)个元素。

16. 带有一个头结点的单链表Head 为空的条件是(Head->next==null)。

17. 在一个单链表中删除指针p所指向结点的后继结点时,需要把(p->next->next)值赋给p->next 指针域。

18. —个顺序循环队列存于a[M]中,假定队首和队尾指针分别为front和rear,则判断队空的条件为(==,判断队满的条件为((+ 1 )%M==。

19. 在双向链表中,每个结点有两个指针域,一个指向其(前驱) 结点,另一个指向其(后继)结点,最后一个结点的(后继结点) 指针域为空。

*20. 若D=((a ,(b ,c)) ,e ,a) ,则Head( D )=( ) ,Tail( 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; >link=s; s->link=q;>link=s->link; s->link=p; >link=s; s->link=p;2. 对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。

若在逻辑上看一个环,则队列中元素的个数(A)。

+R-F C.(R-F+1)mod n D.(n+R-F)mod n3. 如下陈述中正确的是(A)。

A.串是一种特殊的线性表B.串的长度必须大于零C串中兀素只能是字母 D.空串就是空白串4. 若让元素1,2,3 依次进栈,则出栈次序不可能出现(C) 的情况。

,2,1 ,1,3 ,1,2 ,3,25•判定一个队列QU (最多元素为m0)为空的条件是(C)。

>rear-QU->front==m0 >rear-QU->front-1==m0 >front==QU->rear >front==QU->rear+16. 设目标串S= ‘ abcdef模式串p= ‘ de则第(C)次匹配成功。

7. 设字符串s1=‘ABCDEF,G'S2=‘PQRS,T'T,sub1,sub2 为空串。

则运算s=Concat(T ,SubString(sub1 f s1 f 2 f SubLength(s2))f SubString(sub2f s1f SubLength(s2)f2)) 后的串T 值为( D)。

A. ‘ BCDEFB. ‘ BCDEFGC. ‘ BCPQRSTD. ‘ BCDEFEF8. —个顺序线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B)。

9. 非空的循环单链表head 的尾结点(由p 所指向)满足(C)。

>next==NULL ==NULL>next==head ==head10. 在一个链队中,假设f和r分别为队首和队尾指针,则删除一个结点的运算时(C)。

=f->next; =r->next;=f->next; =r->next;11. 在一个长度为n的线性表中,删除值为x的元素时,需要比较元素和移动元素的总次数为(C)。

A.(n+1)/2 2 +112. 在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改(B)个指针域的值。

13. 线性结构中,每个结点(C)。

A.无直接前驱B.只有一个直接前驱和个数不受限制的直接后继C只有一个直接前驱和后继 D.有个数不受限制的直接前驱和后继14. 队列是限定在(D)进行操作的线性表。

A.中间B.队头C队尾 D.端点15. 设串S1= “ ABCDEFG S2= “ PQRS丁函数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)。

16. 学生成绩表是一种(C)结构。

A.图形B树形C线性 D.集合17. 在一个链队中,假设f 和r 分别为队首和队尾指针,则插入s 所指结点的运算时(C)。

>next=s; f=s; >next=s; r=s; >next=r; r=s; >next=f; f=s;18. 向顺序表中的i 位置处插入元素,下面哪项能够准确的表明i 的位置是合法的。

(D)<=1||i>l->length+1 >=1>=l->length+1 <=i<=l->length+119. 设线性链表中结点的结构为(data , next),已知指针q所指结点是指针p所指结点的直接后继,若在*q 和*p之间插入结点*s,则应执行(A)操作。

>next=p->next; p->next=s; >next=s; s->next=p;>next=s->next; s->next=p; >next==s; s->next=q;20. 一个栈的入栈序列为a,b,c,d,e,则出栈序列不可能的是(C)。

21. 如果以链表作为栈的存储结构,则出栈操作时(B)。

A.必须判别栈是否满B.必须判别栈是否为空C必须判别栈元素类型 D.可不做任何判断22. 设有两个串p和q,求q在p中首次出现的位置的运算称为(B)。

A.连接B模式匹配C求子串 D.求串长指向线性链表中的某一结点,则在线性链表的表尾插入结点S的语句序列是(A)。

(p->next!=NULL) p=p->next; p->next=s; s->next=N ULL;(p!=NULL) p=p->next; p->next=s; s->next=NULL;(p->next!=NULL) p=p->next; s->next=p;p->next=NULL;(p!=NULL) p=p->next->next;->next;p->next=s;s->next=p24. 向顺序栈中压入新元素时,应当(A)。

A.先移动栈顶指针,再存入元素B.先存入元素,再移动栈顶指针C先后次序无关紧要 D.同时进行25. 假定一个顺序队列的队首和队尾指针分别为f和r ,则判断队空的条件为(D)。

相关主题