Ответ на #вопрос15
Для начала нужно уточнить, что O(1) — это обозначение временной сложности алгоритма, когда операция проходит за константное время.
То есть это обозначение самого быстрого выполнения. Чтобы ответить на этот вопрос, нужно понять, что мы знаем о массивах?
Чтобы создать массив int, мы должны написать следующее:
int[] intArray = new int[100];
Из этой записи можно сделать несколько выводов:
1) При создании массива известен его тип. Если известен тип, то понятно, какого размера будет каждая ячейка массива.
2) Известно, какого размера будет массив.
Из этого следует: чтобы понять, в какую ячейку записать, нужно просто вычислить, в какую область памяти записать.
Для машины это проще простого. У машины есть начало выделенной памяти, количество элементов и размер одной ячейки. Из этого понятно, что место для записи будет равно начальному месту массива + размер ячейки, умноженный на ее размер.
Для начала нужно уточнить, что O(1) — это обозначение временной сложности алгоритма, когда операция проходит за константное время.
То есть это обозначение самого быстрого выполнения. Чтобы ответить на этот вопрос, нужно понять, что мы знаем о массивах?
Чтобы создать массив int, мы должны написать следующее:
int[] intArray = new int[100];
Из этой записи можно сделать несколько выводов:
1) При создании массива известен его тип. Если известен тип, то понятно, какого размера будет каждая ячейка массива.
2) Известно, какого размера будет массив.
Из этого следует: чтобы понять, в какую ячейку записать, нужно просто вычислить, в какую область памяти записать.
Для машины это проще простого. У машины есть начало выделенной памяти, количество элементов и размер одной ячейки. Из этого понятно, что место для записи будет равно начальному месту массива + размер ячейки, умноженный на ее размер.