顺序存储结构:
1.用一段连续的存储单元依次存储线性表的数据元素
2.查找o(1),插入和删除o(n)
3.随机存(O(1)),无需为表示表中元素之间的逻辑关系而增加额外的存储空间
链式存储结构:
1.用一组任意的存储单元存放线性表的元素
2.查找o(n)(遍历),插入删除o(1)
顺序存储结构:频繁查找,很少插入、删除;
链式存储结构:频繁插入、删除;
1.对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度为(b)
A.O(1), O(1)
B.O(1), O(N)
C.O(N), O(1)
D.O(N), O(N)
顺序存储可以实现"随机存取",因此访问结点的时间复杂度为O(1),而插入(增加)、删除结点由于涉及到大量移动元素,故其时间复杂度为O(n)。
2. 设顺序表L中有n个数据元素,则删除该表中第i个数据元素需要移动移动(c)个元素。
A.n-1-i
B.n+L-i
C.n-i
D.i
0....i-1 i ....n 第i个元素的下标为i-1(不动),即从i到n-1都需要移动,即n-1-i+1=n-i;
3. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?(D)
A.双链表
B.单循环链表
C.带头结点的双循环链表
D.顺序表
顺序存储的随机读取操作时间复杂度为O(1)
顺序表的插入和删除操作要移动大量的元素,这里在最后插入和删除则不需要移动元素,效率高,因此顺序表是最优存储结构
4. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址(连不连续都可以)
链式存储结构与顺序存储结构相比,最大的优点就是地址不连续,因此才会使得元素的插入、删除等操作变得方便。
5.线性表L在什么情况下适用于使用链式结构实现?(A)
A.需不断对L进行删除插入
B.需经常修改L中的结点值
C.L中含有大量的结点
D.L中结点结构复杂
6.链表不具有的特点是:(B)
A.插入、删除不需要移动元素
B.方便随机访问任一元素(顺序表特点)
C.不必事先估计存储空间
D.所需空间与线性长度成正比
7.顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( C)。
A.100
B.105
C.108
D.110
100 102 104 106 108
100+(n-1)*2=108;
8.顺序表的优点是( C)。
A.插入操作的时间效率高(链表)
B.适用于各种逻辑结构的存储表示(线性表)
C.存储密度(存储利用率)高
D.删除操作的时间效率高(链表)
线性表是逻辑结构,顺序表和链表是存储结构