循环单链表问题。数据结构学得好的解释一下 10

只有尾指针(rear)的循环链表插入。删除时的时间复杂度为O(1),O(1)只有头指针(front)的循环链表插入。删除时的时间复杂度O(n),O(1)谁给解释一下!!... 只有尾指针(rear)的循环链表插入。删除时的时间复杂度为O(1),O(1)
只有头指针(front)的循环链表插入。删除时的时间复杂度O(n),O(1)
谁给解释一下!!
展开
 我来答
Many_question
2012-07-25 · TA获得超过2853个赞
知道大有可为答主
回答量:2040
采纳率:66%
帮助的人:2333万
展开全部
对于只有尾指针的链表(第一类),要定位一个单元只能从之前的单元向下扫描.
对于只有头指针的链表(第二类),要定位一个单元只能从之后的单元向上扫描.

插入时,第一类链表首先根据要插入的位置n找到n+1,这里只需要常熟级的操作,然后把w的尾指针指向n+1,n的尾指针指向w,这两个指向操作也是常数级的,所以整个插入过程是O(1)的.
第二类链表则麻烦一点,因为知道n不能直接找出n+1,要从尾部往回扫描至n+1,这个过程是线性级的.然后把n+1的头指针指向w,w的头指针指向n.这个过程常数级.合起来就是线性级O(n)

删除时,一般是定位n删除n+1,这时候先找出n+2,然后将n的尾指针指向n+2即可.这样只用常数级操作O(1).
对于第二类我有疑问..如果是定位n删除n+1,那么应该也是O(n)的.可能你的意思是知道n+2,删除n+1,那么原理和第一类一样,只是反过来而已.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式