数据结构第版习题及实验参考答案数据结构复习完整版c语言版

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

数据结构基础及深入及考试

复习资料

习题及实验参考答案见附录

结论

1、数据的逻辑结构是指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

2、数据的物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。存储结构可分为4大类:顺序、链式、索引、散列

3、抽象数据类型:由用户定义,用以表示应用问题的数据模型。它由基本的数据类型构成,并包括一组相关的服务(或称操作)。它与数据类型实质上是一个概念,但其特征是使用与实现分离,实行封装和信息隐蔽(独立于计算机)。

4、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。

5、在数据结构中,从逻辑上可以把数据结构分成( C )

A、动态结构和表态结构

B、紧凑结构和非紧凑结构

C、线性结构和非线性结构

D、内部结构和外部结构

6、算法的时间复杂度取决于( A )

A、问题的规模

B、待处理数据的初态

C、问题的规模和待处理数据的初态

线性表

1、线性表的存储结构包括顺序存储结构和链式存储结构两种。

2、表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为( E ),删除一个元素需要移动的元素的个数为( A )。

A、(n-1)/2

B、n

C、n+1

D、n-1

E、n/2

F、(n+1)/2

G、(n-2)/2

3、“线性表的逻辑顺序与存储顺序总是一致的。”这个结论是( B )

A、正确的

B、错误的

C、不一定,与具体的结构有关

4、线性表采用链式存储结构时,要求内存中可用存储单元的地址( D )

A、必须是连续的

B、部分地址必须是连续的C一定是不连续的D连续或不连续都可以

5、带头结点的单链表为空的判定条件是( B )

A、head==NULL

B、head->next==NULL

C、head->next=head

D、head!=NULL

6、不带头结点的单链表head为空的判定条件是( A )

A、head==NULL

B、head->next==NULL

C、head->next=head

D、head!=NULL

7、非空的循环单链表head的尾结点P满足( C )

A、p->next==NULL

B、p==NULL

C、p->next==head

D、p==head

8、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( B )

n)

A、O(1)

B、O(n)

C、O(n2)

D、O(nlog

2

9、在一个单链表中,若删除p所指结点的后继结点,则执行( A )

A、p->next=p->next->next;

B、p=p->next;p->next=p->next->next;

C、p->next=p->next;

D、p= p->next->next;

10、在一个单链表中,若在p所指结点之后插入s所指结点,则执行( B )

A、s->next=p;p->next=s;

B、s->next=p->next;p->next=s;

C、s->next=p->next;p=s;

D、p->next=s;s->next=p;

11、在一个单链表中,已知q是p的前趋结点,若在q和p之间插入结点s,则执行( C )

A、s->next=p->next;p->next=s;

B、p->next=s->next;s->next=p;

C、q->next=s;s->next=p;

D、p->next=s;s->next=q;

12、在线性结构中,第一个结点没有前趋结点,其余每个结点有且只有 1 个前趋结点。

栈和队列

1、在栈操作中,输入序列为(A,B,C,D),不可能得到的输出数列是( D )

A、(A,B,C,D)

B、(D,C,B,A)

C、(A,C,D,B)

D、(C,A,D,B)

2、设栈ST用顺序存储结构表示,则栈ST为空的条件( B )

A、=<>0

B、===0

C、=<>n

D、===n

3、向一个栈顶指针为HS的链栈中插入一个s结点时,执行( C )

A、HS->next=s;

B、s->next=HS->next;HS->next=s;

C、s->next=HS;HS=S;

D、s->next=HS;HS=HS->next;

4、从一个栈顶指针为HS的链栈中删除一个结点,用x保存被删结点的值,则执行( C )

A、x=HS;HS=HS->next;

B、HS=HS->next;x=HS->data;

C、x=HS->data;HS=HS->next;

D、s->next=HS;HS=HS->next;

5、用单链表表示的链示队列的队头在链表的( A )位置。

A、链头

B、链尾

C、链中

6、判定一个链队列Q(最多元素个数为n)为空的条件是( A )

A、Q.front== B、!=

C、==+1)%n

D、!=+1)%n

7、在链队列Q中,插入要所指结点需顺序执行的指令是( B )

A、>next=s;f=s;

相关文档
最新文档