Задать вопрос
@annaTomas

В чём отличие хэш-таблицы от словаря и ассоциативного массива в C#?

Не совсем понятно отличие между ассоциативным массивом, хэш-таблицей(hashtable) и словарём(dictionary/map) и как это проявляется в языке c#. Как я понял, есть ADT - хэш-таблица которая представлена хэш-функцией и массивом - кормим ей ключ и значение => хэш-функция(над ключом) => индекс в массиве => операция над входными данными. Могут возникнуть коллизии которые решаются либо открытой адресацией(пробирование) либо связанным списком и вот тут встал вопрос - а чем это отличается от словаря и ассоциативного массива и как это проявляется в C#(отличие hashtable и dictonary?) Где-то говорят что словарь это та же хэш-функция в которой коллизии решаются через открытую адресацию, где-то что это(словарь) абстрактное нечто что должно уметь работать с парой ключ/значение и это может быть реализовано хоть через дерево.
  • Вопрос задан
  • 2031 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Словарь и ассоциативный массив - это синонимы. Хеш-таблица - это вариант реализации словарей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks Куратор тега C#
не совсем понятно отличие между ассоциативным массивом, хэш-таблицей(hashtable) и словарём(dictionary/map)

Не стоит использовать перевод терминов, потому что в шарпе есть конкретные классы с конкретными названиями.

Для примера рассмотрим Dictionary<TKey, TValue>.
и как это проявляется в языке c#

Заходите в репозиторий и смотрите интересующие вас детали реализации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы