有两个长度为n(n>1)的不带头结点的单链表,结点类型相同,A是非循环的,B是循环的,则以下正确的是( )。
A. 对于这两个链表来说,删除首结点的时间复杂度都是O(1)
B. 对于这两个链表来说,删除尾结点的时间复杂度都是O(n)
C. 循环单链表B比非循环单链表A占用更多的内存空间
D. 以上都不对
在长度为n(n≥1)的循环单链表L中,删除尾结点的时间复杂度为( )。
A. O(1)
B. O(n)
C. O(n^2)
D. O(nlog2n)
有一个非空循环双链表,在结点p之前插入结点q的操作是( )。
A. p.prior=q; q.next=p; p.prior.next=q; q.prior=p.prior;
B. p.prior=q; p.prior.next=q; q.next=p; q.prior=p.prior;
C. q.next=p; q.prior=p.prior; p.prior=q; p.prior.next=q;
D. q.next=p; q.prior=p.prior; p.prior.next=q; p.prior=q;
设一个顺序表L(最多可存放100个元素)目前有3个元素,第i(1≤i≤3)个元素存放在L.data[i-1]中,若把一个新元素存入L.data[5],则( )。
A. 会产生运行错误
B. L.data[0]~L.data[5]不构成一个顺序表
C. 顺序表的长度大于顺序表元素个数,会降低存储空间的利用率
D. 以上都不对