数据结构考试题库

  • 格式:docx
  • 大小:455.53 KB
  • 文档页数:21

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

绪论

一、填空题

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)时,需向前移动(n-i)个元素。

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

3.在线性表的单链接存储中,若一个元素所在结点的地址为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.顺序表中逻辑上相邻元素的物理位置(一定)紧邻;单链表中逻辑上相邻元素的物理位置(不一定)紧邻。

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

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

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

13.循环队列头指针front指向队头元素,队尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为Queuelen。在循环队列中,队空标志为(front==rear),队满标志为((rear+1)%max==front)。当rear>=front时,队列长度为(rear-front),当rear

长度为(rear-front+max)。

14.在一个长度为n的线性表中的第i个元素(1≤i≤n)之前插入一个元素时,需向后移动(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 n

3.如下陈述中正确的是(A)。

A.串是一种特殊的线性表

B.串的长度必须大于零

C.串中元素只能是字母

D.空串就是空白串

4.若让元素1,2,3依次进栈,则出栈次序不可能出现(C)

的情况。

,2,1 ,1,3 ,1,2 ,3,2