使用自引用列表

时间:2010-09-16 16:26:44

标签: python algorithm language-agnostic list self-reference

我知道可以用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,[...]]

哪些算法可以从自引用列表中受益?我想不出一个。

感谢。

3 个答案:

答案 0 :(得分:3)

使用数据结构表示图形时,可能会导致自引用列表,以及一般来说,循环数据结构。

例如,考虑图的这种天真表示:每个节点都是原子值,或者是链接到的节点列表。圆圈可能导致列表包含另一个包含列表的列表。自循环,即从节点到自身的边缘,将产生自引用列表。

答案 1 :(得分:0)

如果你只询问列表,那么我现在无法想到什么,除了可能在建模/列表的数据结构中递归创建/搜索。

但是,自我引用的一个应用可能是Self Referencing Class Definition in python

答案 2 :(得分:-1)

大多数递归问题定义使用某种自我refrential对象或具有自引用定义的数据。

我会添加维基百科链接,因为它提供了一个很好的读数:

其他人在SO