数据结构知识点背诵(问题+答案)——第二章线性表

本文深入探讨了顺序表和链表两种线性表的存储结构,详细解析了它们的特点、优缺点以及操作效率。顺序表存储密度高,查找元素的时间复杂度为O(1),但插入和删除操作可能涉及大量元素的移动。链表则在插入和删除上更具灵活性,但查找效率较低。线性表在最后一个结点插入的时间复杂度均为O(1)。此外,还讨论了头指针与头结点的区别,以及单链表和静态链表的特性。线性表可以为空,静态链表的指针为相对地址,插入删除无需移动元素。最后,文章比较了顺序表和链表在实际应用中的选择,并提供了实现线性表操作的基本思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

  1. 顺序表如何存储?
  2. 顺序表特点有哪些?
  3. 查找元素的时间复杂度是多少?
  4. 顺序表所占存储空间与哪些因素有关?
  5. 线性表中在最后一个结点插入新结点的时间复杂度是多少?
  6. 交换第3个和第4个值,顺序表和链表哪个效率高?
  7. 头指针和头结点区别是什么?
  8. 单链表局限性?
  9. 表长包括头结点吗?
  10. 静态链表的指针是什么?
  11. 静态链表需要分配连续空间吗,插入删除需要移动元素吗?
  12. 线性表是有限还是无限序列,可以为空吗?
  13. 头插法的应用?

答案

  1. 顺序存储
  2. 随机存储 存储密度高 拓展容量不方便 逻辑物理都相邻 插入删除不方便
  3. O(1)
  4. 表的长度 元素类型 元素中各字段类型
  5. O(1) 因为可以随机存取
  6. 顺序表
  7. 头结点是带头结点链表中的第一个结点(通常不存储信息);头指针始终指向第一个结点(无论是否带头结点)
  8. 无法逆向搜索,必须遍历
  9. 不包括
  10. 静态链表指针是结点的相对地址,表示下一元素在数组中的位置
  11. 需要 不需要
  12. 有限序列 可以
  13. 链表的逆置

错题

线性表采用链表存储时,其结点地址()
A.必须连续
B.一定不连续
C.部分必须连续
D.都可以
若常用操作是取第i个元素的前驱结点,则采用()存储方式最节省时间。
A.单链表
B.双链表
C.单循环链表
D.顺序表

DD

重点

  1. 以上概念背下来

  2. 会写顺序表及链表的增删改查方法,可参考以前博客
    顺序表的增删改查
    单链表的增删改查
    双链表的增删改查

  3. 掌握各个链表的区别,优势,判断为空的条件

  4. 拓展:单链表中数据的前插操作,删除给定元素前一个结点
    核心思想就是由于不能逆置,只能遍历,因而还是按照后插来做,只是将data域换了。我不是我的意思

  5. 大题框架
    实现线性表时,顺序表好还是链表好?(求同存异)
    顺序表和链表的逻辑结构都是线性结构,都属于线性表。
    但二者的存储结构不同,顺序表采用顺序存储(特点,带来的优缺点);链表采用链式存储(特点,带来的优缺点)。
    由于采用不同的存储方式实现,因此基本操作的实现效率不同,当初始化时,采用…;当插入时…;当删除时…;当查找时。

  6. 这一部分的思维导图(虽然不太全) 思维导图

这次一定要坚持写下去!!不能再鸽了
定个小目标,先坚持写五章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值