gpt4 book ai didi

c++ - 在 O(n) 阶双向链表中插入/删除的时间复杂度是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:46 27 4
gpt4 key购买 nike

要在 DLL(双向链表)中插入/删除具有特定值的节点,需要遍历整个列表以找到位置,因此这些操作应该是 O(n)。

如果是这样,那么 STL 列表(很可能是使用 DLL 实现的)为什么能够在恒定时间内提供这些操作?

谢谢大家给我讲清楚。

最佳答案

在已知位置插入和删除 的复杂度为 O(1)。但是,找到那个位置是 O(n),除非它是列表的头部或尾部。

当我们谈论插入和删除的复杂性时,我们通常假设我们已经知道插入和删除的位置。

关于c++ - 在 O(n) 阶双向链表中插入/删除的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899456/

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