Когда выбрать словарь ADT - PullRequest
2 голосов
/ 01 июля 2011

В колледже мы узнали, что тремя основными абстрактными типами данных являются контейнеры (стеки, очереди и таблицы), словари и приоритетные очереди. Вероятно, существует неограниченное количество способов группировки ADT на таком высоком уровне, но это хорошее начало.

Я не совсем понимаю, когда вы выбрали бы словарь ADT для решения вычислительной проблемы. Стеки и очереди выглядят естественно, но не словари.

Один пример, который я могу придумать, - это словарь в том смысле, в каком мы используем его в реальном мире. В словаре хранится и упорядочивается набор слов для быстрого поиска, и то, что вы получаете при поиске слова: правильное написание, как произносить слово, какая часть речи это, определение слова и т. Д.

По мере того, как я начинаю понимать это лучше, чем больше похоже на «словарь», тем другим способом думать о запросах к базе данных. Когда вы пишете инструкцию SQL SELECT, вы обычно ищете, когда первичный ключ равен определенному значению (конечно, не всегда вы можете выбрать любое поле в таблице).

Это правильный способ думать о словаре ADT? Или предполагаемое использование более ограничено, чем это ...

1 Ответ

1 голос
/ 01 июля 2011

Ваш пример SQL довольно точен.Вы ищете первичный ключ (ключ словарной записи), чтобы получить некоторые поля (значения), связанные с ним.

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

...