【发布时间】:2022-10-08 00:58:23
【问题描述】:
Java中ArrayList中set方法的时间复杂度是多少?是 O(1) 还是 O(n)?作为我达到任何索引的考虑,它需要 O(1) 并且更新 O(1),所以它是 O(1) 吗?我在很多地方也看到了 O(n)。
【问题讨论】:
-
你能具体说明哪几个地方吗?
-
你好,欢迎光临!请熟悉如何提问How do I ask a good question? 的指南。
-
ArrayList的方法set()运行在恒定时间,即它的时间复杂度是O(1).因为它由数组支持,并且访问数组的特定索引是恒定时间手术。 -
为什么
set()方法(假设是“Set 方法”)需要 O(n) 使用其索引在数组中设置一个值?来自documentation:"添加操作在摊销常数时间内运行,即添加 n 个元素需要 O(n) 时间。所有其他操作都以线性时间运行" -
“我在很多地方也看到了你(和)”- 在哪里???
标签: java list arraylist data-structures time-complexity