数据结构的javascript描述

https://img3.mukewang.com/5bd634440001fd2505370178.jpg

是不是错了?求解答。

SMILET
浏览 990回答 2
2回答

慕容708150

没有错啊,双向链表是一条线,线的每两个挨着的节点互相连接的,就是说第一个节点指向第二个,第二个节点指向第一个和第三个,第三个节点指向第二个和第四个... 倒数第一个节点指向倒数第二个和第一个。而循环链表是每两个挨着的节点只有前一个指向后一个,并不是互相连接的,也就是说第一个节点指向第二个,第二个节点指向第三个,第三个节点指向第四个... 倒是第一个节点只指向第一个。这样下来,如果有n个节点,双向链表的连接数是2(n-1),循环链表的连接数是n。

人到中年有点甜

英文原文是这样的: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.个人认为此处中文翻译可能不太合适。总之就是说循环链表最后一个节点的后继节点是第一个节点,从最后一个节点再往后移动,就到了第一个节点,可以重新遍历一次找到你要的节点的意思。我自己的渣翻,改自谷歌翻译:您可能想要创建循环链表的原因是:您希望向前访问链表,但不希望负担创建双向链表的额外开销。您可以在循环链表中向后移动直到超过最后一个节点(然后继续向后移动)来找到你需要达到的节点。
打开App,查看更多内容
随时随地看视频慕课网APP