Какова цель в хэш-информации?
После обучения тому, как создать хеш-таблицу в классе, я не понимаю, когда хэш-данные были бы полезны. Мне кажется, что все хеширование - это хранение информации в полуслучайных позициях в массиве. Я хочу знать, как любая из данных может быть полезной после ее сохранения.
Мой вопрос таков: какие примеры, когда хеширующая информация полезна? Как данные извлекаются любым организованным образом? Кажется, он помещен в произвольные позиции, где было бы трудно получить.
Ответы
Ответ 1
Хеширование может использоваться для многих целей:
-
Его можно использовать для сравнения больших объемов данных. Вы создаете хэши для данных, храните хеши, а позже, если вы хотите сравнить данные, вы просто сравниваете хэши.
-
Хэши могут использоваться для индексации данных. Они могут использоваться в хэш-таблицах для указания правильной строки. Если вы хотите быстро найти запись, вы вычисляете хэш данных и напрямую переходите к записи, на которую указывает соответствующая запись хеширования. (Предполагается, что у вас есть отсортированный список хэшей, указывающих на фактические записи)
-
Они могут использоваться в криптографических приложениях, таких как цифровые подписи.
-
Хеширование может использоваться для создания кажущихся случайными строк.
Вот приложения хэш-функций, которые перечислены в википедии:
Теперь о хэш-таблице, отметим следующие моменты:
Если вы используете хеш-таблицу, хеши в таблице должны быть отсортированы. Если нет, вам нужно будет создать индекс в столбце hash. Некоторые реализации хранят хэш отдельно отсортированным образом и указывают на исходную запись.
Если кто-то хранит хэши в полуслучайном порядке, это должно быть либо из-за вышеуказанных причин, либо потому, что они просто хотят хранить дайджест сообщения информации для сравнения, поиска дубликатов и т.д., а не как индекс для данные.
Ответ 2
![alt text]()
Одно из основных применений хэш-таблиц, созданных вами в классе, - это когда вам нужно быстрое время поиска O (1). У вас будет два компонента, ключи и значения.
Хеш-функция преобразует ключ в хэш. Этот хэш является числом, и, в частности, это индекс данных в массиве.
Итак, когда вам нужно найти репутацию Agscala в хэш-таблице, и вы использовали свое имя пользователя в качестве ключа, для поиска и поиска нужного значения времени почти нет времени. Он просто повторно хеширует ваше имя пользователя и альт, есть индекс данных, которые вы искали. Вам не нужно было перебирать весь массив, ищущий это конкретное значение.
Для некоторых ссылок страница Википедии Хэш-таблицы довольно хороша.
Ответ 3
Существует несколько типичных причин хэш-данных. В примере, который вы ссылаетесь, вы будете хэш-данные и использовать это как ключ для извлечения фактического значения хешируемого элемента. Хешированные данные часто упоминаются как ключ и ссылаются на ведро, где можно найти фактическое, не хешированное значение.
Другая типичная причина - создать подпись хешированного значения, чтобы вы могли проверить, было ли значение изменено кем-то другим. Так как обычно, в зависимости от используемого алгоритма, для хэша двух элементов используется одно и то же значение, вы можете переименовать значение и сравнить его с сохраненным значением хэша, чтобы проверить, остается ли этот элемент тем же.
Ответ 4
Хеширование - это метод, полезный для быстрого поиска ключей. Это позволяет более эффективно находить значение, а не сканировать список от начала до конца.
Ответ 5
Вы когда-нибудь использовали словарь или набор? Они обычно реализуются с точки зрения хэш-таблицы, потому что значение, связанное с ключом, можно найти быстро.
{
'WA': 'Washington',
'WV': 'West Virginia',
'WY': 'Wyoming'
}
Ответ 6
Я не понимаю, когда хеширование данных было бы полезно. Мне кажется, что все хеширование делает хранение информации
ЧТО?
Хеширование - это именно то, что хранит ИНФОРМАЦИЯ О СОХРАНЕНИИ??/Вы когда-нибудь думали, КТО на самом деле ИСПОЛЬЗУЕТ ХЕШИНГ В СВОЕЙ ВЫГОДЕ? ДЛЯ ЧЕГО ДОСТИЖЕНИЯ??? ЗАЧЕМ?? Я так и думал. Ну, правительство точно ХРАНИТЕ НАШУ ИНФОРМАЦИЮ, сообщения, твиты, Gmail и так далее... это НЕ ново или это так? Понимаете ли вы, что на данный момент у вас есть реальное определение И ЧТО ЭТО ИСПОЛЬЗУЕТСЯ ДЛЯ ЯВНО КОГО… это не для ЧТО это для ПОЧЕМУ? КТО использует это/КТО хранит это и, наконец, ПРИЧИНА И ПРЕИМУЩЕСТВО И чтобы знать все, о чем идет речь, и кому этот разговор принадлежит, СЛИШКОМ, и я не параноик, просто говорю правду, если кто-то действительно хочет знать. Всегда, когда есть инструмент, всегда кто-то ИСПОЛЬЗУЕТ его для владения, собственных интересов и ЧЕГО ХОТИТЕ ДОСТИГНУТЬ. Думаю об этом.......