/*************************链表1*******************************/
顺序表是一种随机存取的存储结构
2-3 带头结点判空表的条件 h->next == NULL 不带头结点判空表的条件 h == NULL;此时h是头指针
2-4
将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数是: B
A.1
B.N
C.2N
D.NlogN
两个都有序 ,比如123和456
2-9 有序顺序表,可以用二分查找,复杂度为o(lgn) 而本题中为有序单链表,需要遍历找到插入的位置,复杂度为O(n)
2-11在单链表中,增加一个头结点的最终目的是为了(方便运算的实现)。
2-18可以用带表头附加结点的链表表示线性表,也可以用不带头结点的链表表示线性表,前者最主要的好处是(使空表和非空表的处理统一)
/******************************链表2********************************/
2-4
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?(2分)
A.单链表
B.仅有尾指针的单循环链表
C.仅有头指针的单循环链表
D.双链表
尾指针+单循环->拥有了头节点
2-5
若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用哪种存储方式最节省运算时间?(2分)
A.单链表
B.双链表
C.单循环链表
D.带头结点的双循环链表
2-6
将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构?(2分)
A.单链表
B.单循环链表
C.带尾指针的单循环链表
D.带头结点的双循环链表
2-10
若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。(2分)
A.单链表
B.给出表头指针的单循环链表
C.双链表
D.带表头附加结点的双循环链表
2-11
某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用()存储方式最节省运算时间。(2分)
A.单链表
B.仅有头结点的单循环链表
C.双链表
D.仅有尾指针的单循环链表
2-12
在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。(2分)
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
如果对线性表的运算只有4种,即删除第一个元素,删除最后一个元素,在第一个元素前面插入新元素,在最后一个元素的后面插入新元素,则最好使用()。(2分)
A.只有表尾指针没有表头指针的循环单链表
B.只有表尾指针没有表头指针的非循环双链表
C.只有表头指针没有表尾指针的循环双链表
D.既有表头指针也有表尾指针的循环单链表
A删除最后还是得找一遍
2-14
如果对线性表的运算只有2种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用()。(2分)
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表