История изменений
Исправление Nervous, (текущая версия) :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать любой, совершенно произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.
Конечно, в архитектуре и модели памяти, подразумеваемых по умолчанию, это будет не слишком эффективно по памяти, но разве это единственная возможная архитектура?
Исправление Nervous, :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать любой, совершенно произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.
Конечно, в архитектуре и модели памяти, подразумеваемых по умолчанию, это будет не слишком эффективно по памяти, но
Исправление Nervous, :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать любой, совершенно произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.
Конечно, в текущей архитектуре и модели памяти, подразумеваемых по умолчанию, это будет не слишком эффективно по памяти, но
Исправление Nervous, :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать любой, совершенно произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.
Исправление Nervous, :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать совершенно произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.
Исходная версия Nervous, :
У обычного массива валидные ключи всегда лежат в диапазоне 0:N.
Так и у разрежённого тоже. Просто не у всех есть значения.
У ассоциативного нет.
У ассоциативного массива доступ хуже чем О(1).
у ассоциативного массива может не быть
Поэтому его и выделили в отдельный вид массива, наверное. Но из массивов не выпилили, потому что операция доступа по индексу никуда не делась.
Конечно, тут тонкий момент — считать ли операцию с дополнительными ограничениями той же самой или нет, и где проходит грань, за которой операция уже точно совсем не торт. Я полагаю, что тут всё более-менее произвольно, нет единственно правильного решения.
Но вот скажи — чем обычный массив не ассоциативный? %) Быстрый доступ по ключу у него есть. Если массив разрежённый, то и вставка по произвольному ключу тоже есть. (Вы можете выбрать произвольный ключ, если он натуральное число.) Получается такой ассоциативный массив для бедных.