admin 管理员组

文章数量: 1184232


2024年5月31日发(作者:怎么把for循环的数存到数组)

第一章 绪论

数据结构研究内容:数据的逻辑结构、存储结构及其操作

逻辑结构的分类:两大类分为线性结构、非线性结构;三大类分为线性结构、

树、图

物理结构:顺序存储和链式存储(特点、优缺点...)

1、 对存储的连续性要求:顺序存储要求连续;链式存储连续与否均可

2、 存储密度:顺序存储的存储密度大,可达100%;链式存储存储密度较小

3、 对元素的访问:顺序存储比较方便。顺序存储是随机访问;链式存储是顺序

访问

4、 删除和插入操作:链式存储的删除和插入操作较简单

算法分析的两个方面:时间复杂度、空间复杂度

程序段的时间复杂度

第二章 线性表(重点)

线性表的基本概念

习题:线性表L=(a1,a2,……,an),下列说法正确的是( )。

A. 每个元素都有一个直接前驱和一个直接后继

B. 线性表中至少要有一个元素

C. 表中诸元素的排列顺序必须是由小到大或由大到小

D. 除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后

线性表的两种存储方式

习题:

1、链表不具有的特点是( )。

A. 可随机访问任一元素 B. 插入删除不需要移动元素

C. 不必事先估计存储空间 D. 所需空间与线性表长度成正比

2、线性表采用链式存储时,结点的存储地址( )。

A. 必须是连续的

C. 连续与否均可

B. 必须是不连续的

D. 和头结点的存储地址相连续

3、在以下的叙述中,正确的是( )。

A. 线性表的顺序存储结构优于链表存储结构

B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况

C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况

D. 线性表的链表存储结构优于顺序存储结构

4、判断:在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是

相邻的。( )

单链表、循环链表、双向链表的特点与优缺点

习题:

1、从表中任一结点出发,都能扫描整个表的是( )。

A. 单链表 B. 顺序表 C. 循环链表 D. 静态链表

2、循环链表的主要优点是( )。

A. 不再需要头指针 B. 已知某结点位置后能容易找到其直接前驱

C. 在进行插入、删除运算时能保证链表不断开

D. 在表中任一结点出发都能扫描整个链表

3、

判断各种线性表的空(或满):

判断顺序表的空及满

判断单链表的空

判断循环链表的空

判断双向链表的空

习题:

1

、带头结点的单链表head为空的条件是 。

各链表中特殊结点(第一个结点和尾结点)

顺序表、单链表、双向链表结点的删除和插入

习题:

1、设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结

点,欲将q插入到p结点之后,则需要执行的语句: ; 。

2、非空的循环单链表head的尾结点p满足( )。

A. t()==head B. p. getNext()==null

C. p==null D. p==head

3、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针

的操作是( )。

A. t(q);or(p);or(q);t(q);

B. t(q); or(q); or(p);t(p. getNext());

C. or(p);(p. getNext());or(q);(q);

D. x(p. getNext());o(p);t(q); or(q);

4、带头结点的单链表head为空的判定条件是( )。

A. head==null

C. t()==head

B. t()==null

D. head!=null

5、在一个长度为n的顺序表中删除第i个元素,需要向前移动( )个元素。

A. n-i B. n-i+1 C. n-i-1 D. i+1

6、在一个单链表中,若删除p所指向结点的后续结点,则执行( )。

A. t(t().getNext());

B. p=t();t(t().getNext());

C. p =t();

D. p=p. getNext().getNext();

7、在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )。

A. 访问某个元素的前驱 B. 在某个元素之后插入一个新元素( )

C. 删除某个元素 D. 对顺序表中元素进行排序


本文标签: 结点 结构 链表 删除 元素