Java:时间复杂度getMethod()
Java: Time complexity getMethod()
我有一个 class 和一个 getAvailableRobot
(ArrayList
) 方法,想知道该方法的时间复杂度是多少。我知道如果 available 只是一个 int 它将是 O(1),但是因为它是一个 ArrayList
,它仍然是 O(1),还是 return 一个新列表迭代器的帮助使它成为 O(n)?
public class Robot {
protected List<Robot> available;
public List<Robot> getAvailableRobots(){
return available;
}
}
我基本上要求的是另一种方法中这一行的运行时间:
List<Robot> newList = getAvailableRobots();
当您 return 这样的集合时,它不会被复制,您只是 return 对同一对象的引用。换句话说,这个方法的执行时间不受列表大小的影响,所以ot也会有O(1)的时间复杂度。
我有一个 class 和一个 getAvailableRobot
(ArrayList
) 方法,想知道该方法的时间复杂度是多少。我知道如果 available 只是一个 int 它将是 O(1),但是因为它是一个 ArrayList
,它仍然是 O(1),还是 return 一个新列表迭代器的帮助使它成为 O(n)?
public class Robot {
protected List<Robot> available;
public List<Robot> getAvailableRobots(){
return available;
}
}
我基本上要求的是另一种方法中这一行的运行时间:
List<Robot> newList = getAvailableRobots();
当您 return 这样的集合时,它不会被复制,您只是 return 对同一对象的引用。换句话说,这个方法的执行时间不受列表大小的影响,所以ot也会有O(1)的时间复杂度。