gpt4 book ai didi

java - 使用迭代器的 Vector 的 BigO

转载 作者:行者123 更新时间:2023-12-01 23:49:52 27 4
gpt4 key购买 nike

我做了一些研究,但没有找到一篇好的文章。
我正在添加多个Vectors到一Vector ,之后我打印它:

Iterator it =vector.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

如何确定此函数的 Big-O 表示法?
例如,如果输出是:

[Something, Something, Something, Something]
[Something, Something, Something, Something, Something]
[Something, Something, Something, Something, Something, Something]
[Something, Something, Something, Something, Something, Something, Something]
[Something, Something, Something, Something, Something, Something, Something, Something]

我不明白的是,每一行都是一个 vector ,对于主 vector ,我们需要一个循环,但对于其中的 vector ,我们不需要循环,为什么?

最佳答案

当您在集合(例如 Vector)上调用 toString 时,您会得到 toString 的逗号分隔列表,并用方括号括起来。该集合中每个元素的 code>。

因此,您的代码所做的是在主 Vector 中的每个 Vector 上调用 toString,而后者又调用 toString 每个元素。因此效率为 O(n),其中 n 是调用 toString 的对象总数。

关于java - 使用迭代器的 Vector 的 BigO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451221/

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