• Как храняться данные в хеш-таблице?

    @sirs
    Советую Вам почитать эту статью, станет многое понятно.
    Если коротко - то в java НЕ выделятся память под какой-либо объект исходя из максимально возможного значения. Преимущество коллекций (если я верно понимаю Вас интересует HashMap) в том и заключается, что у них изменяемый размер.
    Ответ написан
    Комментировать
  • Как храняться данные в хеш-таблице?

    @lega
    2,147,483,647

    В 32 битном числе ~4 млрд значений, а не ~2

    Массив выделяется под кол-во данных, в разных системах по разному, например в питоне когда массив заполнен на ~70%, тогда выделяется больший массив под эти данные.
    Результирующий хеш подстраивается под размер массива, например под 500 элементов, может быть выделен массив в 1024 элементов, в итоге результирующая позиция может быть вычислена так = hash_value %mod table_length, пример: 55555 % 1024 -> 259, итого значение будет записано в 259 ячейку (если нет коллизии)
    Ответ написан
    Комментировать
  • Что по советуете подростку в программировании?

    Я бы рекомендовал Python.
    Лично мне писать на нем намного приятнее. Сам начинал изучение с C++, но т.к. учился я по книжке о языке, а не о программировании, то ничего толкового не вышло.
    Python будет проще изучать т.к. в нем можно сфокусироваться именно на программировании, а не на конструкциях языка. Рекомендую книгу Dive into Python для начала, затем советую перейти к Саммерфилду: Программирование на Python 3. Подробное руководство

    Но при этом я бы всё равно не забрасывал Java куда-то на полку, а просто отложил бы ее изучение на пару месяцев. Тогда изучать ее будет проще, т.к. ты уже будешь уметь программировать и тебе придется учить именно язык.

    Ещё дам пару советов, которые я дал бы лично себе, если бы мог вернуться в прошлое(да, мне всего 17, но все же):
    1. Больше практикуйся. Уделяй в день хотя бы час времени на изучении программирования. Главное делай это постоянно. Результаты не заставят себя ждать.
    2. Займись подготовкой к олимпиадам. Поступить в хороший вуз (МГУ / ВШЭ / ИТМО) без них крайне сложно. А чтобы выиграть олимпиады нужно готовиться не меньше года. Я вот начал слишком поздно и не успел.

    p.s. Если что можешь обратиться с доп. вопросами в ЛС, отвечу.
    Ответ написан
    2 комментария