我有一个简单的问题:将对象收集到列表中并向后遍历此列表.看起来很简单,但这段代码是高负载计算的一部分.使用conses是很自然的,因为它在添加新元素和顺序访问时需要O(1).但是,如果我需要一个有效的双链表来轻松地在两个方向上遍历它,我该怎么办?使用(反向)?它需要O(n)内存和时间,所以实际上它需要O(n ^ 2)在我的情况下(这是非常糟糕的).使用(最后)还是(追加)?同样的故事:O(n).我真的不知道在哪里可以找到关于标准库函数计算复杂性的任何信息(源代码除外).它是依赖于实现的吗?我需要做些什么才能实现各种标准数据结构?有没有有效使用conses的指南?