1.线性表若采用链式存储结构的时候,要求内存中可用存储单位的地址是:连续或者不连续都可以
链式存储去找后继节点或者前驱节点是使用指针来实现的,不需要连续的内存,当然,也可以是连续的内存地址
2.
线性表具有如下的特点:
1.均匀性:虽然不同数据表的数据元素可以是各种各样的
但是对于同一个线性表的各元素必定具有相同的数据类型和长度
2.有序性:各数据元素在线性表中的位置只取决于他们的序号
数据元素之前的相对位置是线性的,即存在唯一的第一个和最后一个的数据元素
除了第一个和最后一个之外,其他元素均只有一个数据元(直接前驱)和后面均只有一个数据元素(直接后继)
关联数组:关联数组和数组类似,它包含着类似于(键,值)的有序对,是一种具有特殊索引方式的数组,关联数组的元素没有特定的数据。
3.
若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 存储方式最节省运算时间。
正确答案: D
单链表
给出表头指针的单循环链表
双链表
带头结点的双循环链表
4.
线性表的顺序存储结构是一种随机存取 的存储结构,线性表的链式存储结构是一种() 的存储结构。
正确答案: B 你的答案: C (错误)
随机存取
顺序存取
索引存取
散列存取
顺序存储的地址在内存中是连续的,所以可以计算地址实现随机存取,而链式存储的存储地址不一定连续,只能通过逐个节点的指针顺序进行存取。
线性表的链式存储结构中的每一个存储节点不仅包含一个数据元素,还包含指针,每一个指针指向一个与本节点有逻辑关系的节点
5.数组和链表:arraylist是实现了基于动态数组的数据结构,linkedlist是基于链表的数据结构
不管是不是在已经排好序的情况下,数据的查找复杂度应该比链表快,因为数据可以直接定位,而链表需要遍历
对于新增或者是删除远元素的情况下,链表比较占优势,因为数组的话要移动数据
对于随机访问get和set,arraylist觉得优于linkedlist,因为linkedlist要移动指针,所以数组的效率要高一点