第二章 线性表:线性表是最简单的数据结构,俗称表结构。本章详细讲解线性表的特点、存储实现方法、基本操作、性能分析、应用。通过本章的学习,学生将会认识并掌握表结构的组织方式和操作方法,并能在实际问题中进行应用。2.1线性表的存储实现:讲解线性表结构在内存中的实现方法,包括顺序存储和链式存储
2.2顺序表的基本操作:本节讲解表中元素的查询、遍历等操作在顺序存储中的实现
2.3顺序表的插入和删除:讲授顺序表中元素的插入、删除操作的算法及实现。
2.4链表的基本操作:本节讲解表中元素的查询、遍历等操作在单链表中的实现,要熟练指针的操作。
2.5链表的插入和删除:本节讲解单链表中的元素插入、删除操作的详细过程及算法实现,并进行性能分析。
2.6链表的建立:本节介绍单链表的构建方法:头插法、尾插法。
2.7线性表的应用:本节介绍一元多项式计算器的设计方法,注重问题的分析与抽象,从而灵活应用线性表。
[单选题]链表不具备的特点是(  )。
不必事先估计存储空间

所需空间与其长度成正比

插入和删除不需要移动任何元素

可随机访问任意一个结点

答案:可随机访问任一结点
[判断题]线性表的顺序存储表示优于链式存储表示。 


答案:×
[判断题]顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。


答案:对
[单选题]在设头、尾指针的单链表中,与长度n有关的操作是( )。
删除第一个结点
在p结点之后插入一个结点
在第一个结点之前插入一个结点
删除最后一个结点
答案:删除最后一个结点
[单选题]设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。
q->next=s; s->next=p;
p->next=s;s->next=q;
p->next=s->next;s->next=p;
s->next=p->next;p->next=-s;
答案:q->next=s; s->next=p;
[单选题]对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
顺序表
单链表
用尾指针表示的循环单链表
用头指针表示的循环单链表
答案:用尾指针表示的单循环链表
[单选题]在一个单链表中,若p所指节点不是最后节点,在p之后插入s所指节点,则执行( )。
s->link=p->link;p->link=s;
s->link=p->link;p=s;
p->link=s;s->link=p;
s->link=p;p->link=s;
答案:s->link=p->link;p->link=s;
[单选题]在双向链表存储结构中,删除p所指的结点时须修改指针( )。
p->prior=p->next->next; p->next=p->prior->prior;
p->next->prior=p->prior; p->prior->next=p->next;
p->prior->next=p; p->prior=p->prior->prior;
p->next=p->next->next; p->next->prior=p;
答案:p->next->prior=p->prior; p->prior->next=p->next;
[单选题]若事先不知道线性表的长度,则处理线性表时较好的存储结构是( )。
B和C
单链表
静态链表
顺序表
答案:单链表
[单选题]向一个有127个元素的顺序表中插入一个新元素并保存,原来顺序不变,平均要移动( )个元素。
7
8
63.5
63
答案:63.5
[单选题]某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
145
144
147
148
答案:144
[单选题]在一个以 h 为头的单循环链表中,p 指针指向链尾的条件是( )。
p->data == -1
p->next == NULL
p->next == h
p->next->next == h
答案:p->next == h
[单选题]在表头指针为head 且表长大于1的单向循环链表中,指针p 指向表中的某个结点,若p->next->next=head,则( )。
*p的直接后继是头结点
p指向尾结点
p指向头结点
*p的直接后继是尾结点
答案:*p的直接后继是尾结点
[单选题]线性表若采用链式存储结构时,要求内存中可用存储单元的地址(   )。
必须是连续的
一定是不连续的
部分地址必须是连续的
连续不连续都可以
答案:连续或不连续都可以
[单选题]在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )。
p->next=p;
p->next=p->next->next;
p=p->next;
p=p->next->next;
答案:p->next=p->next->next;
[单选题]可以用带表头结点的链表表示线性表,也可以用不带表头结点的链表表示线性表,前者最主要的好处是( )。
可以提高存取元素的速度
使空表和非空表的处理统一
可以加快对表的遍历
节省存储空间
答案:使空表和非空表的处理统一
[单选题]与单链表相比,双向链表的优点之一是(   )。
顺序访问相邻结点更加灵活
插入、删除操作更加简单
可以随机访问
可以省略表头指针或表尾指针
答案:顺序访问相邻结点更灵活
[单选题]如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式(   )。
双向链表
单循环链表
顺序表
单链表
答案:顺序表
[单选题]线性链表不具有的特点是(  )。
不必事先估计所需存储空间大小
随机访问
插入与删除时不必移动元素
所需空间与线性表长度成正比
答案:随机访问
[单选题]对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( )个元素。
(n+1)/2
n
n/2
(n-1)/2
答案:n/2
[判断题]链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。


答案:√
[单选题]在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改(   )个指针域的值。
4
3
2
5
答案:4
[判断题]具有线性关系的集合中,若a,b是集合中的任意两个元素,则必有a


答案:错

点赞(0) dxwkbang
返回
顶部