您的位置:首页 > 其它

作业5--单链表

2017-12-18 14:58 197 查看
2-1

h
为不带头结点的单向链表。在
h
的头上插入一个新结点
t
的语句是:(2分)
h=t;
t->next=h->next;

t->next=h->next;
h=t;

h=t;
t->next=h;

t->next=h;
h=t;


2-2

在单链表中,若
p
所指的结点不是最后结点,在
p
之后插入
s
所指结点,则执行 (2分)
s->next=p;
p->next=s;

s->next=p->next;
p=s;

s->next=p->next;
p->next=s;

p->next=s;
s->next=p;


2-3

带头结点的单链表
h
为空的判定条件是: (2分)
h
== NULL;

h->next
== NULL;

h->next
== h;

h
!= NULL;


2-4

将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数是: (2分)
1
N
2N
NlogN

2-5

线性表若采用链式存储结构时,要求内存中可用存储单元的地址 (1分)
必须是连续的
连续或不连续都可以
部分地址必须是连续的
一定是不连续的

2-6

在具有N个结点的单链表中,实现下列哪个操作,其算法的时间复杂度是O(N)? (2分)
在地址为p的结点之后插入一个结点
删除开始结点
遍历链表和求链表的第i个结点
删除地址为p的结点的后继结点

2-7

对于一个具有N个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为 (2分)
O(1)
O(N/2)
O(N)
O(N​2​​)

2-8

链表不具有的特点是: (1分)
插入、删除不需要移动元素
方便随机访问任一元素
不必事先估计存储空间
所需空间与线性长度成正比

2-9

(neuDS)在一个含有n个结点的有序单链表中插入一个新结点,使单链表仍然保持有序的算法的时间复杂度是( )。 (2分)
O(1)
O(log​2​​n)
O(n)
O(n​2​​)

2-10

将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为( )。 (2分)
O(1)
O(m)
O(n)
O(n+m)

2-11

(neuDS)在单链表中,增加一个头结点的最终目的是为了( )。 (2分)
使单链表至少有一个结点
方便运算的实现
标识表结点中首结点的位置
说明单链表是线性表的链式存储

2-12

在单链表中,要删除某一指定结点,必须先找到该结点的()。(2分)
直接前驱
自身位置
直接后继
直接后继的后继

2-13

以下关于链式存储结构的叙述中,()是不正确的。 (2分)
结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
逻辑上相邻的结点物理上不必邻接
可以通过计算直接确定第i个结点的存储地址
插入、删除运算操作方便,不必移动结点

2-14

线性链表不具有的特点是()。 (2分)
随机访问
不必事先估计所需存储空间大小
插入与删除时不必移动元素
所需空间与线性长度成正比

2-15

线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。 (2分)
必须是连续的
部分地址必须是连续的
一定是不连续的
连续或不连续都可以

2-16

对线性表,在下列情况下应当采用链表表示的是()。 (2分)
经常需要随机地存取元素
经常需要进行插入和删除操作
表中元素需要占据一片连续的存储空间
表中的元素个数不变2

不带表头附加结点的单链表为空的判断条件是头指针head满足条件()。 (2分)
head==NULL
head->next==NULL
head->next==
head
head!=NULL

2-18

可以用带表头附加结点的链表表示线性表,也可以用不带头结点的链表表示线性表,前者最主要的好处是()。 (2分)
可以加快对表的遍历
使空表和非空表的处理统一
节省存储空间
可以提高存取表元素的速度



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: