gpt4 book ai didi

c++ - 链表在当今世界的真正用途

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:59 24 4
gpt4 key购买 nike

<分区>

我花了很多时间来回思考我应该使用 vector 还是链表。我一直在阅读有关该主题的许多完全矛盾的观点,因此我想要一个基于真实 世界中今天 硬件的直截了当的答案。

所以有人告诉我,如果您在序列中间进行大量插入和删除操作,链表将是理想的选择,其复杂度为 O(1) (这本身我并不完全理解,因为无论如何你必须一直遍历到所需的位置)而插入 vector 显然非常慢,复杂度为 O(n)

另一方面,在观看了 Bjarne Stroustrup 的讲座后 https://www.youtube.com/watch?v=YQs6IC-vgmo似乎链表没有实际用途,并且使用链表因为会有很多插入和删除实际上只能由天真的学生实现。我从中得到的是,本质上,由于链表遍历的性质,它在遍历内存中的不同位置时会多次执行随机访问,而 vector 会执行一次随机访问,直接将您发送到所需位置。这个解释准确吗?

在我的实现中,序列是为了保持顺序,每帧使用每个元素的新值进行更新,因此进行了大量的删除和插入操作。

我的问题是:链表真的还有用吗?即使是为了维持秩序,而不是简单地通过海峡?

背景信息:

  • 该序列用于 2D 扫描和修剪宽相碰撞检测;
  • 序列中元素数量的上限约为 30,000

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com