数据结构基本复习题答案

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

第1章绪论

1 自测习题

二、选择题

1.以下数据结构中,属于线性结构的是 ( B )

A)有向图B)串C)线索二叉树D)B树

2.下列与数据元素有关的叙述中错误的是 (A)

A)数据元素是有独立含义的数据最小单位

B)数据元素是描述数据的基本单位

C)数据元素可以称做结点

D)数据元素可以称做记录

3.以下术语中与数据的存储结构无关的是 (A)

A)栈B)散列表C)顺序表D)双链表

4.以下数据结构中,属于线性结构的是 (B)

A)有向图B)串C)线索二叉树D)B树

三、填空题

1.数据结构包括的三方面内容分别是:数据的逻辑结构、数据的存储结构和数据的运算。

2.数据元素是数据的基本单位,在某些情况下也可以称为结点、记录和顶点。

3.数据逻辑结构的4种基本形态包括集合结构、线性结构、树型结构和图(网)结构。

4.一个正确的算法应该具有5个特性:输入、输出、确定性、可行性和有穷性。

5.数据的存储结构包括顺序、链式、索引和散列四种。6.一个数据结构在计算机中的映象称为存储结构。

7.一个算法的效率主要是指该算法的时间效率和空间效率。

8.以下程序段的时间复杂度T(n)=_)

O_____。

(2n

sum=0;

for(i=0 ; i

for( j=0; j

sum+=a[i][j];

printf("%d\n",sum);

第2章线性表

2 自测习题

二、选择题

1.以下链表结构中,从当前结点出发能够访问到任一结点的是(B) A)单向链表和双向链表B)双向链表和循环链表

C)单向链表和循环链表D)单向链表、双向链表和循

环链表

2.线性表是具有n 个 (B) 的有限序列。

A )数据项

B )数据元素

C )表元素

D )字符

3.若长度为n 的线性表采用链式存储结构,访问其第i 个元素的算

法时间复杂度为 (B)

A )O(1)

B )O(n)

C ) O(n 2)

D )O(log 2n)

4.在长度为n 的顺序表中,若要删除第i (1≤i ≤n )个元素,则

需要向前移动的元素的次数为 (B)

A )i

B )n-i

C )n-i+1

D )n-i-1

5.在长度为n 的顺序表中第i (1≤i ≤n )个位置上插入一个元素时,

为留出插入位置所需移动元素的次数为 (C)

A )n-i

B )i

C )n-i+1

D )n-i-1

三、填空题

1.有一单链表结构如下:

图2-1 填空题1附图

若要删除值为c 的结点,应做的操作是

p->link=p->link->link 。

2.线性表L=( a 1,a 2,…a n )用数组存储。假定删除表中任一元素的概

… … data link

率相同,则删除一个元素平均需要移动的元素个数是

(n-1)/2 。

3.设有结点定义

struct node

{ int data;

struct node *next;

};

且已建立如图2-2所示的带有头结点的单向链表:

图2-2 填空题3附图

函数sum 的功能是:计算链表中各结点数据域之和,作为函数值返

回。请填空。

int sum(struct node *head)

{ int s=0;

struct node *p;

p=head->next;

do { s=s+ p->data ;

p=p->next;

}

… data next

while ( p!= NULL );

return s;

}

第3章栈和队列

3 自测习题

二、选择题

1.有6个元素按6、5、4、3、2、1的顺序进栈,进栈过程中可以出栈,则以下可能的出栈序列是(B,D)

A)1、4、3、5、2、6 B)6、5、4、3、2、1

C)3、1、4、2、6、5 D)5、6、3、4、2、1

2.栈和队列都是(C)

A)顺序存储的线性结构 B)链式存储的线性结构

C)限制存取点的线性结构 D)限制存取点的非线性结构3.设循环队列的队首指针用front表示,队尾指针用rear表示,则判断队空的条件是(A)

A)front==rear B)front+1=rear C)rear+1=front D)rear==0

4、设有中缀算术表达式:15 – 3 * (7 + 2 ),其对应的后缀算术表达式为(B)

A)15 3 - 7 2 + * B)15 3 7 2 + * - C)15 3 * 7 2 +

D)15 3 - * 7 2 +

三、填空题

1.队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其操作特点是先进先出。

2.设有一个空栈,栈顶指针值为100,现有输入序列为1,2,3,4,5,经过操作序列:Push、Pop、Push、Push、Pop、Push、Push、Pop 后,现在已出栈的序列是 1、3、5,栈顶指针是102 。

3.设有后缀算术表达式:2 x y + * 3 y - /,其对应的中缀表达式为 2*(x+y)/(3-y) 。

4.已知一算术表达式的中缀形式为:(a+b)-(b+c)/2,其对应的前缀表达式形式应为 -+ab/+bc2 。

第4章串

4.1自测习题

一.选择题

1.设有一个字符串S=“ABC 123 XYZ”,问该串的长度为(C)

A) 9 B) 10 C) 11 D) 12

2.设有一个字符串S=”windows”,其子串的数目是(29个)

A) 25个 B) 26个 C) 27个 D)28个

相关文档
最新文档