问题
- 顺序表如何存储?
- 顺序表特点有哪些?
- 查找元素的时间复杂度是多少?
- 顺序表所占存储空间与哪些因素有关?
- 线性表中在最后一个结点插入新结点的时间复杂度是多少?
- 交换第3个和第4个值,顺序表和链表哪个效率高?
- 头指针和头结点区别是什么?
- 单链表局限性?
- 表长包括头结点吗?
- 静态链表的指针是什么?
- 静态链表需要分配连续空间吗,插入删除需要移动元素吗?
- 线性表是有限还是无限序列,可以为空吗?
- 头插法的应用?
答案
- 顺序存储
- 随机存储 存储密度高 拓展容量不方便 逻辑物理都相邻 插入删除不方便
- O(1)
- 表的长度 元素类型 元素中各字段类型
- O(1) 因为可以随机存取
- 顺序表
- 头结点是带头结点链表中的第一个结点(通常不存储信息);头指针始终指向第一个结点(无论是否带头结点)
- 无法逆向搜索,必须遍历
- 不包括
- 静态链表指针是结点的相对地址,表示下一元素在数组中的位置
- 需要 不需要
- 有限序列 可以
- 链表的逆置
错题
线性表采用链表存储时,其结点地址()
A.必须连续
B.一定不连续
C.部分必须连续
D.都可以
若常用操作是取第i个元素的前驱结点,则采用()存储方式最节省时间。
A.单链表
B.双链表
C.单循环链表
D.顺序表
DD
重点
-
以上概念背下来
-
掌握各个链表的区别,优势,判断为空的条件
-
拓展:单链表中数据的前插操作,删除给定元素前一个结点
核心思想就是由于不能逆置,只能遍历,因而还是按照后插来做,只是将data域换了。我不是我的意思 -
大题框架
实现线性表时,顺序表好还是链表好?(求同存异)
顺序表和链表的逻辑结构都是线性结构,都属于线性表。
但二者的存储结构不同,顺序表采用顺序存储(特点,带来的优缺点);链表采用链式存储(特点,带来的优缺点)。
由于采用不同的存储方式实现,因此基本操作的实现效率不同,当初始化时,采用…;当插入时…;当删除时…;当查找时。 -
这一部分的思维导图(虽然不太全) 思维导图
这次一定要坚持写下去!!不能再鸽了
定个小目标,先坚持写五章