为了账号安全,请及时绑定邮箱和手机立即绑定

数据结构的javascript描述

数据结构的javascript描述

莫回无 2018-08-14 17:16:47
这几天在读这本书,发现这本书有好多问题。下面这句话是什么意思?是不是错了?求解答。
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超12个赞

没有错啊,双向链表是一条线,线的每两个挨着的节点互相连接的,就是说第一个节点指向第二个,第二个节点指向第一个和第三个,第三个节点指向第二个和第四个... 倒数第一个节点指向倒数第二个和第一个。

而循环链表是每两个挨着的节点只有前一个指向后一个,并不是互相连接的,也就是说第一个节点指向第二个,第二个节点指向第三个,第三个节点指向第四个... 倒是第一个节点只指向第一个。

这样下来,如果有n个节点,双向链表的连接数是2(n-1),循环链表的连接数是n。


查看完整回答
反对 回复 2018-08-19
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

英文原文是这样的:

The reason you might want to create a circularly linked list is if you want the ability to go backward through a list but don’t want the extra overhead of creating a doubly linked list. You can move backward through a circularly linked list by moving forward through the end of the list to the node you are trying to reach.

个人认为此处中文翻译可能不太合适。

总之就是说循环链表最后一个节点的后继节点是第一个节点,从最后一个节点再往后移动,就到了第一个节点,可以重新遍历一次找到你要的节点的意思。

我自己的渣翻,改自谷歌翻译:

您可能想要创建循环链表的原因是:您希望向前访问链表,但不希望负担创建双向链表的额外开销。您可以在循环链表中向后移动直到超过最后一个节点(然后继续向后移动)来找到你需要达到的节点。


查看完整回答
反对 回复 2018-08-19
  • 2 回答
  • 0 关注
  • 655 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信