在 Python 中使用链表的最简单方法是什么?在 Scheme 中,链表的定义很简单,即“(1 2 3 4 5)。Python 的列表 [1, 2, 3, 4, 5] 和元组 (1, 2, 3, 4, 5) 实际上并不像......
在 Python 中使用链表的最简单方法是什么?在 Scheme 中,链表的定义很简单 '(1 2 3 4 5)
.
Python 的列表 [1, 2, 3, 4, 5]
和元组 (1, 2, 3, 4, 5)
并不是链表,链表具有一些不错的特性,例如常量时间连接,以及能够引用其中的不同部分。如果使它们不可变,那么它们就真的很容易使用!
@MadPhysicist \'即使名称不同,它 [deque] 在几乎所有方面都表现得像一个链接列表。\' — 它要么是错误的,要么是毫无意义的:它是错误的,因为链接列表可能为时间复杂度提供不同的保证,例如,您可以在 O(1) 中从链接列表中删除一个元素(已知位置),而 deque 不保证这一点(它是 O(n))。如果 \'几乎所有方式\' 允许忽略大 O 中的差异,那么您的陈述毫无意义,因为如果不是为了 pop(0)、insert(0,v) 大 O 保证,我们可以使用 Python 内置列表作为 deque。