gpt4 book ai didi

java - 使用多个相同的方法和时间复杂度

转载 作者:行者123 更新时间:2023-12-01 16:32:58 24 4
gpt4 key购买 nike

对于下面的代码块,我想知道它的总时间复杂度是否为 O(n^2) 或更大。我知道链表的 get() 方法运行 O(n) 时间,但是我多次使用它有关系吗?因为我已经使用了 3 次,所以 get() 会是 O(n^3) 还是保持在 O(n)?

public static LinkedList<Integer> merge(LinkedList<Integer> a, LinkedList<Integer> b){
LinkedList<Integer> c = new LinkedList<>();
for (int i = 0; i < b.size(); i++) {
if (i >= a.size()) { // 4
c.add(b.get(i)); // 4
}
else {
b.add(i, a.get(i));
c.add(b.get(i));
}
}
return c;
}

最佳答案

链表实现中的访问是 O(n)。要从列表中添加元素,需要有一个循环遵循从一个元素到下一个元素的链接。在最坏的情况下,在 n 个元素的列表中,将执行循环的 n 次迭代。

关于java - 使用多个相同的方法和时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62014225/

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