某线性表只在头尾两端进行插入和删除,则____是最佳的存储方式。
A. 仅含有头指针,带头结点循环双链表
B. 仅含有尾指针,带头结点的单循环链表
答案是B ,我选的A
我感觉在进行删除操作时需要找到尾结点的前驱结点,如果是B的话就要遍历整个链表才行
,而A的话则只需要从头结点后移两步就找到了尾结点的前驱,这样效率不是更高么?
是我理解错了么?
ab效率一样,但是a存储更大,所以选b。
A无疑可以快速找到头尾位置,B如果是仅含头指针就需要O(n)找尾,但B有尾,头即是尾的下一个,AB效率因此一样,A是双链,内存大。所以选B.
尾指针表示的单循环链表存储时,很容易找到线性表的首、尾元素。
B删除尾节点还是需要遍历链表,插入尾节点是O(1)