2010-09-16 30 views
9

Tôi biết nó có thể tạo ra một danh sách tham khảo tự trong các ngôn ngữ như Python:Sử dụng các danh sách tham khảo tự

>>> 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,[...]] 

gì các thuật toán được hưởng lợi từ danh sách tham khảo tự? Tôi không thể nghĩ ra.

Cảm ơn.

Trả lời

0

Định nghĩa sự cố đệ quy nhất sử dụng một số loại đối tượng tự điều chỉnh hoặc dữ liệu có định nghĩa tự tham chiếu.

tôi sẽ thêm vào liên kết wikipedia vì nó cung cấp một readup tốt:

khác trên SO

+1

Cụ thể, bạn đang đề cập đến vấn đề gì có thể được thực hiện đơn giản hơn với các danh sách chứa chính chúng? –

+0

Cảm ơn bạn đã theo dõi/chỉnh sửa, nhưng việc đệ quy với các danh sách tự tham chiếu cho phép đệ quy đuôi và tự tham chiếu * phương pháp * đệ quy nào không thể làm và biểu cảm hơn? –

0

Nếu bạn đang yêu cầu chỉ là về danh sách, sau đó tôi không thể nghĩ ra một cái gì đó ngay bây giờ, ngoại trừ có lẽ đệ quy tạo/tìm kiếm trong một cấu trúc dữ liệu theo mô hình dạng danh sách.

Nhưng một ứng dụng của một tự tham khảo có thể là này Self Referencing Class Definition in python

3

danh sách tự tham khảo, và, nói chung, cấu trúc dữ liệu hình tròn, có thể được gây ra khi đại diện cho một biểu đồ sử dụng cấu trúc dữ liệu.

Ví dụ: xem xét biểu diễn ngây thơ của biểu đồ: Mỗi nút là giá trị nguyên tử hoặc danh sách các nút được liên kết. Vòng kết nối có thể khiến danh sách chứa danh sách khác chứa danh sách. Một vòng tròn tự, tức là một cạnh từ một nút đến chính nó, sẽ gây ra một danh sách tự tham khảo.

Các vấn đề liên quan