我知道在像Python这样的语言中,可以创建一个自引用列表:
>>> my_list = [1,2]
>>> my_list.append(my_list)
>>> print my_list
[1,2,[...]]
>>> print my_list[0]
1
>>> print my_list[2]
[1,2,[...]]
哪些算法可以从自引用列表中受益?我想不出任何一个。
谢谢。
我知道在像Python这样的语言中,可以创建一个自引用列表:
>>> my_list = [1,2]
>>> my_list.append(my_list)
>>> print my_list
[1,2,[...]]
>>> print my_list[0]
1
>>> print my_list[2]
[1,2,[...]]
哪些算法可以从自引用列表中受益?我想不出任何一个。
谢谢。
当使用数据结构表示图形时,可能会出现自引用列表和循环数据结构。
例如,考虑以下图形的朴素表示:每个节点都是原子值或与之链接的节点列表。圆圈可能导致列表包含另一个包含列表的列表。自循环,即从一个节点到其自身的边,将导致自引用列表。
大多数递归问题定义使用某种自引用对象或具有自引用定义的数据。
我会添加维基百科链接,因为它提供了一个很好的阅读:
SO上的其他问题