Рубрики
Без рубрики

Учебный курс Python-Basic: День 20, Hashtables через словари

Hashtables и поиск информации Центральная тема за хеш-столами отличается … Теги с учебным током, учебником, учебником, CodeNewie, Python.

Hashtables и поиск информации

Центральная тема за хеш-таблицами является интеллектуальное хранение и поиск. Данные должны храниться таким образом, чтобы он был очень легко искать его.

Предположим, мы хотим хранить данные о любых тысяч чисел от одного до миллиона. Используя Hashtables, мы можем эффективно хранить эти числа таким образом, что позволяет легко поискать. Это возможно только в том случае, если мы рассмотрим значения к «ключам» идея хэш-таблицы состоит в том, чтобы разрешить различные возможности ключей, которые могут быть сопоставлены на одно и то же место в массиве. Это делается с помощью «Хэшфунктов» Функция хеша принимает значение и отображает его к ключу.

Пример. Мы могли бы принять функцию хеша, как принимают только последние три цифры числа. Итак, 45367 пойдет на должность 367, а 3769 пойдет на 769. В случае двух чисел имеют тот же набор последних трех цифр, мы можем использовать разные алгоритмы для разрешения столкновения. Один из способов сделать это использует «Chaked Hashtables» или связанные таблицы хэш. В этом списки присутствуют в hashtables вместо числовых значений, где значения могут быть добавлены. Пример ниже сделает все более четкими.

Если вы не знакомы с HASHTABLES, пожалуйста, посетите следующие ссылки –

Если у кого-то есть больше ссылок, пожалуйста, прокомментируйте ниже👇

Простое hashtable

Давайте теперь посмотрим, как сделать простое hashable с использованием словаря. Пользователь входит говорит пять ценностей, и мы рассмотрим их в таблицу длиной десяти. Если значения клавиш перекрываются, то сгенерировано сообщение об ошибке, и новое значение игнорируется. Это управление столкновением будет обрабатываться следующей версией HASH Table, I.N. связанные хеш-таблицы.

Для этой программы мы используем простую hashfunction expency is modulus as – ключей% длина

a={}
for i in range(0,5):
    b=int(input("Please enter an integer "))
    key=b%10 #very simple hash function for length 10
    try:
        int(a[key]) 
        #to check if the element is already present in the position or not.
        print("error-- value occupied!")
    except:
           a[key]=b 
print(a)

ВЫХОД-

Please enter an integer 2
Please enter an integer 43
Please enter an integer 56
Please enter an integer 63
error-- value occupied!
Please enter an integer 78
{8: 78, 2: 2, 3: 43, 6: 56}

Упражнение 1) -Медифицировать вышеуказанный код для отображения символов Unicode к Hashtable.

Связанный hashtable.

Теперь мы создаем связанные ссылки, то есть с спискими. Таким образом, мы решаем вопрос ключей в том же положении. Если для одного и того же списка есть несколько значений, то значения добавлены в список, а не игнорируя их. Этот метод используется для быстрой извлечения данных

a={}
for i in range(0,10):
    b=int(input("Please enter a number "))
    key=b%10
    try:#append to original list exists.
     if key not in a[key]:
      a[key].append(b)
    except:#make a new list
        a[key]=[b]
print(a)
Please enter a number 23
Please enter a number 45
Please enter a number 65
Please enter a number 34
Please enter a number 79
Please enter a number 86
Please enter a number 54
Please enter a number 123
Please enter a number 457
Please enter a number 389
{3: [23, 123], 4: [34, 54], 5: [45, 65], 6: [86], 7: [457], 9: [79, 389]}

Получение данных из HaShtable

Мы можем получить данные от Hashtable очень эффективно. Таким же образом, как мы добавили данные, теперь мы удалимся и покажу.

b=int(input("Please enter the value"))
key=b%10
print(a[key].pop(b))

Ответы как обычно в Обучение репозитория Python

Hashtables – это одна из многих многочисленных структур данных. Для получения дополнительной информации, связанной с структурами и алгоритмами данных, пожалуйста, посетите эту серию блогов- Data Structures Blog Series АЯ БУЧИХА на dev.to

✌️so Друзья, которые все сейчас.

Следуй за мной на Github Для обновлений

Оригинал: “https://dev.to/aatmaj/learning-python-basic-course-day-20-hashtables-via-dictionaries-3nf1”