В колледже мы узнали, что тремя основными абстрактными типами данных являются контейнеры (стеки, очереди и таблицы), словари и приоритетные очереди. Вероятно, существует неограниченное количество способов группировки ADT на таком высоком уровне, но это хорошее начало.
Я не совсем понимаю, когда вы выбрали бы словарь ADT для решения вычислительной проблемы. Стеки и очереди выглядят естественно, но не словари.
Один пример, который я могу придумать, - это словарь в том смысле, в каком мы используем его в реальном мире. В словаре хранится и упорядочивается набор слов для быстрого поиска, и то, что вы получаете при поиске слова: правильное написание, как произносить слово, какая часть речи это, определение слова и т. Д.
По мере того, как я начинаю понимать это лучше, чем больше похоже на «словарь», тем другим способом думать о запросах к базе данных. Когда вы пишете инструкцию SQL SELECT, вы обычно ищете, когда первичный ключ равен определенному значению (конечно, не всегда вы можете выбрать любое поле в таблице).
Это правильный способ думать о словаре ADT? Или предполагаемое использование более ограничено, чем это ...