gpt4 book ai didi

c++ - std::vector 和 std::list find_if 和 max_element 性能

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:19:10 31 4
gpt4 key购买 nike

我对针对 std::vectorstd::list 测试的代码的性能感到困惑。这两者在 find_ifmax_element 方面有区别吗?

最佳答案

就大 O 表示法而言,两者具有相同的 O(n) 性能。 (如果更快找到元素,find_if 可以更少,但这对两个容器同样适用。)

就实际挂钟时间而言,由于缓存一致性, vector 会表现得更好;所有 vector 元素在内存中都是连续的,因此访问它们将更好地利用 CPU 缓存。链表的元素可能分散在整个内存中,您还需要遵循列表链接,这需要时间。

关于c++ - std::vector 和 std::list find_if 和 max_element 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17075583/

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