第一章作业3-链式存储结构及其操作

2-1

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

  1. 必须是连续的
  2. 连续或不连续都可以
  3. 部分地址必须是连续的
  4. 一定是不连续的

[解析] 在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。

2-2

线性表L在什么情况下适用于使用链式结构实现? (1分)

  1. 需不断对L进行删除插入
  2. 需经常修改L中的结点值
  3. L中含有大量的结点
  4. L中结点结构复杂

 

2-3

链表不具有的特点是: (1分)

  1. 插入、删除不需要移动元素
  2. 方便随机访问任一元素
  3. 不必事先估计存储空间
  4. 所需空间与线性长度成正比

 

2-4

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

  1. h=t; t->next=h->next;
  2. t->next=h->next; h=t;
  3. h=t; t->next=h;
  4. t->next=h; h=t;

2-5

在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行 (1分)

  1. s->next=p; p->next=s;
  2. s->next=p->next; p=s;
  3. s->next=p->next; p->next=s;
  4. p->next=s; s->next=p;

 

2-6

不带表头附加结点的单链表为空的判断条件是头指针head满足条件()。 (1分)

  1. head==NULL
  2. head->next==NULL
  3. head->next== head
  4. head!=NULL

本题考查链表为空的判定条件。
题目中给出的单链表head是不带头结点的单链表,头结点是指在单链表head第一个结点之前附设的一个结点,头结点的数据域可以不存放任何数据信息,而其指针域存放指向第一个结点的指针。在题目中告诉了我们,第一个结点的指针为head,而整个单链表的存储必须从第一个结点进行,如果链表为空,则说明第一个结点为空,因此链表为空的判定条件是head==NULL。

2-7

可以用带表头附加结点的链表表示线性表,也可以用不带头结点的链表表示线性表,前者最主要的好处是()。 (1分)

  1. 可以加快对表的遍历
  2. 使空表和非空表的处理统一
  3. 节省存储空间
  4. 可以提高存取表元素的速度

 

2-8

在单链表中,要删除某一指定结点,必须先找到该结点的()。 (1分)

  1. 直接前驱
  2. 自身位置
  3. 直接后继
  4. 直接后继的后继

 

2-9

以下关于链式存储结构的叙述中,()是不正确的。 (1分)

  1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
  2. 逻辑上相邻的结点物理上不必邻接
  3. 可以通过计算直接确定第i个结点的存储地址
  4. 插入、删除运算操作方便,不必移动结点

 

2-11

线性表采用链式存储时,其地址()。 (1分)

  1. 必须是连续的
  2. 一定是不连续的
  3. 部分地址必须是连续的
  4. 连续与否均可以
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值