我知道可以用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,[...]]
哪些算法可以从自引用列表中受益?我想不出一个。
感谢。
答案 0 :(得分:3)
使用数据结构表示图形时,可能会导致自引用列表,以及一般来说,循环数据结构。
例如,考虑图的这种天真表示:每个节点都是原子值,或者是链接到的节点列表。圆圈可能导致列表包含另一个包含列表的列表。自循环,即从节点到自身的边缘,将产生自引用列表。
答案 1 :(得分:0)
如果你只询问列表,那么我现在无法想到什么,除了可能在建模/列表的数据结构中递归创建/搜索。
但是,自我引用的一个应用可能是Self Referencing Class Definition in python
答案 2 :(得分:-1)
大多数递归问题定义使用某种自我refrential对象或具有自引用定义的数据。
我会添加维基百科链接,因为它提供了一个很好的读数:
其他人在SO