Скажем, у меня есть массив:Какова продолжительность выполнения array.length?
int[] array = new int[10];
Что такое время выполнения:
int len = array.length;
Я бы думать, что это будет постоянная операции времени, но сегодня в интервью, интервьюер сказал что это будет O(n)
, потому что нужно будет подсчитать количество элементов.
Кроме того, если у меня есть цикл вроде этого:
for (int i = array.length - 1; i >=0; i--) {
something with array[i];
}
ли это влечет за собой дополнительные n
операции, чтобы добраться до конца массива, чтобы начать цикл? Интервьюер пришел с C-фона, поэтому, возможно, они ошибались в том, как работает Java, но я не хотел его толковать во время интервью.
Это O (1), поскольку эти метаданные сохраняются в объект массива. – alfasin
@alfasin Да, вот что я подумал. Разве это не так? – fvrghl
нет - это то же самое для всех языков. – alfasin