在长度为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. 以上都不对
在长度为n的( )上,删除尾结点的时间复杂度为O(1)。
A. 单链表
B. 双链表
C. 循环单链表
D. 循环双链表
与非循环单链表相比,循环单链表的主要优点是( )。
A. 不再需要头结点
B. 已知某个结点能够容易找到它的前驱结点
C. 在进行插入、删除操作时,能更好地保证链表不断开
D. 从表中任意结点出发都能遍历整个链表