判断
1.
选择
1.不带表头附加结点的单链表为空的判断条件是头指针head满足条件()。
(2分)
head == NULL;
2.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?
答案:仅有尾指针的单循环链表。
3.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用哪种存储方式最节省运算时间?
答案:带头结点的双循环链表。
4.将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构?
答案:带尾指针的单循环链表。
5.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。
答案:删除单链表的最后一个元素。
6.如果对线性表的运算只有4种,即删除第一个元素,删除最后一个元素,在第一个元素前面插入新元素,在最后一个元素的后面插入新元素,则最好使用()。
答案:只有表头指针没有表尾指针的循环双链表。
7.如果对线性表的运算只有2种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用()。
答案:只有表尾指针没有表头指针的循环单链表。
8.带表头附加结点的双向循环链表为空的判断条件是头指针L满足条件()。
答案:L->right ==L
9.
采用多项式的非零项链式存储表示法,如果两个多项式的非零项分别为N1和N2个,最高项指数分别为M1和M2,则实现两个多项式相乘的时间复杂度是:
答案:O(N1×N2)