使用只有表尾指针或只有表头指针的单循环链表的情况

使用只有表尾指针没有表头指针:

循环单链表指的是最后节点的指针域指向表头节点,如果要删除第一个元素,只需要通过表尾指针找到第二个节点,然后将最后节点的指针指向第二个节点,就将第一个元素删除了;

单链表指的是最后节点的指针域指向表头节点,如果要删除第一个元素,只需要通过表尾指针找到第二个节点,然后将最后节点的指针指向第二个节点,就将第一个元素删除了;

在最后一个元素后面插入新元素时,先找到表头,然后将新元素的指针域指向表头,然后再将表尾指向新元素就好了,算法的复杂度为O(1)。

新元素时,先找到表头,然后将新元素的指针域指向表头,然后再将表尾指向新元素就好了,算法的复杂度为O(1)。

使用只有表头指针没有表尾指针:

循环单链表指的是最后节点的指针域指向表头节点,如果要删除最后一个元素,必须遍历整个链表才能找到表尾,进行新元素的插入、再插入时的算法复杂度为O(n)。

单链表指的是最后节点的指针域指向表头节点,如果要删除最后一个元素,必须遍历整个链表才能找到表尾,进行新元素的插入、再插入时的算法复杂度为O(n)。

 

不想当项目经理的程序员不是好程序员。微信搜【PM伟少】,关注后回复【软考】,有我准备的一份软考备考资料一份。

  • 15
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
a. 只有头指针,没有尾指针的双向循环链表是一种数据结构,它在正向和反向方向都可以遍历链。这种链的特点是:每个节点有一个指针指向它的前一个节点和一个指针指向它的后一个节点,同时头节点的前一个节点指向尾节点,尾节点的后一个节点指向头节点。由于没有尾指针,我们无法直接访问尾节点,但我们可以通过遍历整个链找到它。对于插入和删除节点的操作,需要调整指针的指向来保持链的循环性质。 b. 只有尾指针,没有头指针的链也是一种数据结构,它只能从后往前遍历链。这种链的特点是:每个节点有一个指针指向它的前一个节点,但没有指针指向它的后一个节点。尾节点的指针指向空,示链的结束。由于没有头指针,我们无法直接访问链的开头,只能通过遍历整个链找到它。对于插入节点的操作,需要将新节点插入到尾节点的后面,并更新尾指针。对于删除节点的操作,我们需要找到目标节点的前一个节点,并更新其指针。由于只有尾指针,无法实现从前往后的遍历操作。 这种只有尾指针或只有头指针的链可以用于特定的场景和需求,但在通常情况下,我们会选择同时拥有头和尾指针的双向链,以便能够更方便地在链的两个方向进行操作和遍历。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PM伟少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值