自引用列表的用途
我知道可以用 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,[...]]
哪些算法受益于自引用列表?我想不出一个。
谢谢。
I know it is possible to create a self referencing list in languages like 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,[...]]
What algorithms benefit from self referencing lists? I cannot think of one.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当使用数据结构表示图时,可能会导致自引用列表,并且一般来说,循环数据结构。
例如,考虑一下图的这种简单表示:每个节点要么是一个原子值,要么是它链接到的节点列表。圆圈可能会导致一个列表包含另一个包含该列表的列表。自环,即从节点到自身的边,将导致自引用列表。
Self-referencing lists, and, generally speaking, circular data structures, can be caused when representing a graph using data structures.
For example, consider this naive representation of a graph: Each node is either an atomic value, or a list of nodes that it is linked to. A circle may cause a list to contain another list that contains the list. A self-circle, i.e., an edge from a node to itself, will cause a self-referencing list.
如果您只是询问列表,那么我现在想不出什么办法,除了在建模为列表的数据结构中递归创建/搜索之外。
但是自引用的一个应用可能是这个 Python 中的自引用类定义
If you are asking just about lists, then I can't think of something right now, except for maybe recursively creating/searching in a data structure modeled as list.
But one application of a self-referencing could be this Self Referencing Class Definition in python
大多数递归问题定义使用某种自引用对象或具有自引用定义的数据。
我会添加维基百科链接,因为它提供了很好的阅读:
其他关于 SO
Most recursive problem definition uses some kind of self refrential objects or a data with self-referential definition.
I would add the wikipedia link as it provides a good readup:
Others on SO