1、线性表的链式存储结构既方便其存取操作,也方便其插入与删除操作,这种说法()
A、正确
B、错误
正确选项:B
注记:线性表的链式存储结构便于插入和删除,但不利于存取。线性表的顺序存储结构存取方便,但插入和删除都需要移动大量元素。
2、下列哪些容器可以使用数组,但不能使用链表来实现?
A、队列
B、栈
C、优先级队列
D、Map或者Dict
正确选项:D
注记:Map或者Dict是可以按key索引值,这个只有数组能实现,链表不能
3、广义表运算式 Tail(((a,b),(c,d)))的操作结果是( )。
A、(c,d)
B、c,d
C、((c,d))
D、d
正确选项:C
注记:
Tail(((a,b),(c,d)))=((c,d))
tail 只能是广义表 head可以是元素 也可以是广义表
4、单向链表不满足的描述是( )
A、可以随机访问任意结点
B、删除头节点的时间复杂性是O(1)
C、空间开销与链表长度成正比
D、插入数据的时间开销比数组更大
正确选项:AD
注记:
A,链表只能进行按照顺序依次访问节点,无法做到随机访问。
B,因为链表删除元素不需要做元素移动,所以时间复杂度为O(1)。
C,链表是由节点构成,自然链表长度越大空间开销越大。
D,链表插入和删除元素因为不需要移动节点,所以相比较于数组而言,链表的时间复杂度为O(1),数组的时间复杂度O(n)。
5、以下几种方式当中,稀疏矩阵压缩的存储方法是:()
A、三元组
B、二维数组
C、散列
D、十字链表
正确选项:AD
注记:
稀疏矩阵指的是矩阵中非零元素很少的矩阵,具体少到什么程度呢?非零元素所占比例小于等于5%称为稀疏矩阵。这个时候如果用二维数组储存就太浪费空间了。所以用三元组(行,列,值)储存其中的非零元素。一个三元组就可以唯一确定一个非零元素。一组三元组加上矩阵的行、列值就可以确定这个矩阵了。