用途

2010-09-16 45 views
9

我知道這是可能創造語言如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

大多數遞歸問題定義使用某種自我反思對象或具有自引用定義的數據。

我想補充維基百科的鏈接,因爲它提供了一個良好的電文讀出:

其他的SO

+1

具體來說,您提到的那些問題可以通過包含它們自己的列表來簡化? – 2010-09-16 17:21:56

+0

感謝您的後續/編輯,但是使用自引用列表的遞歸提供了什麼,尾端遞歸和自引用*方法*遞歸不能做到,並且更具表現力? – 2010-09-16 18:06:18

0

如果你問只是名單,然後我想不到的東西,現在,除了也許遞歸創建/在建模爲列表中的數據結構進行搜索。自引用的

但是一個應用可以是本Self Referencing Class Definition in python

3

自引用列表和,一般說來,圓形的數據結構中,可以使用數據結構表示的圖時所引起的。

例如,考慮一個圖的樸素表示:每個節點可以是原子值,也可以是鏈接到的節點列表。圓圈可能會導致列表中包含另一個包含該列表的列表。一個自我循環,即從一個節點到它自身的一條邊,將產生一個自我引用列表。