на практике например способствует быстрому нахождению элемента без перебора
берем значение, суем в хэш-функцию, на выходе получаем точный ключ в оперативке, находим, профит
Какой такой "точный ключ"?
не понял
аа, ну адрес к элементу, по которому он находится
а как?
1. В каких пределах будут результаты хэш-функции и кто нам гарантирует, что мы по этому адресу памяти вообще можем писать, если это прямо адрес. 2. Что делать, если у нас совпали хэши двух вставляемых элементов?
ну, если совпали, то тогда перебрать все элементы по этому хэшу. а про первое, да, ок, это не адрес в оперативе, это грубо говоря адреса в самой хеш таблице, если можно так выразиться
Что значит "перебрать"? Куда элемент запихивать будем, если у нас хэшем определяется адрес?
ну хэш таблица же как словарь, получаем элемент в виде списка и туда его и суем
Ух ты, у нас круг замкнулся. Словарь сделан на основе хэш-таблицы, а хэш-таблица — она как словарь. Удобно. :-D А так — нет там списков. Есть некоторые реализации, где что-то похожее на списки в ячейках хэш-таблицы, но, во-первых, в питоне не так, а во-вторых, это слишком важная деталь реализации, чтобы её вот так пропускать.
ну получается, что хэш таблица это все же не словарь, но похож на него. но как тогда ее назвать?
Э... А вот сейчас совсем запутал. Отличие между хэш-таблицей и словарём понимаешь?
не, ну понятно, что это не словарь. я к тому, что визуально абстрактно похожи
А ванна визуально похожа на ванную комнату.
Обсуждают сегодня