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

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

Не совсем понятно отличие между ассоциативным массивом, хэш-таблицей(hashtable) и словарём(dictionary/map) и как это проявляется в языке c#. Как я понял, есть ADT - хэш-таблица которая представлена хэш-функцией и массивом - кормим ей ключ и значение => хэш-функция(над ключом) => индекс в массиве => операция над входными данными. Могут возникнуть коллизии которые решаются либо открытой адресацией(пробирование) либо связанным списком и вот тут встал вопрос - а чем это отличается от словаря и ассоциативного массива и как это проявляется в C#(отличие hashtable и dictonary?) Где-то говорят что словарь это та же хэш-функция в которой коллизии решаются через открытую адресацию, где-то что это(словарь) абстрактное нечто что должно уметь работать с парой ключ/значение и это может быть реализовано хоть через дерево.
  • Вопрос задан
  • 2012 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Словарь и ассоциативный массив - это синонимы. Хеш-таблица - это вариант реализации словарей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks Куратор тега C#
не совсем понятно отличие между ассоциативным массивом, хэш-таблицей(hashtable) и словарём(dictionary/map)

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

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

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

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

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