Au collège, nous avons appris que les trois principaux types de données abstraits étaient les conteneurs (piles, files d'attente et tables), les dictionnaires et les files d'attente prioritaires. Il y a probablement un nombre illimité de façons de grouper les ADT à un niveau élevé comme celui-ci, mais c'est un bon début.Quand choisir un dictionnaire ADT
Je ne comprends pas vraiment quand vous choisiriez un Dictionary ADT pour résoudre un problème de calcul. Les piles et les files semblent venir naturellement, mais pas les dictionnaires.
Le seul exemple auquel je peux penser est un dictionnaire dans le sens où nous l'utilisons dans le monde réel. Un dictionnaire garde et ordonne un ensemble de mots pour une recherche rapide, et ce que vous obtenez lorsque vous cherchez un mot est: orthographe correcte, comment prononcer le mot, quelle partie du discours il est, définition du mot, etc
Au fur et à mesure que je commence à mieux le comprendre, plus cela ressemble à un "dictionnaire", c'est une autre façon de penser à interroger une base de données. Lorsque vous écrivez une instruction SQL SELECT, vous êtes généralement à la recherche d'une clé primaire lorsque celle-ci est égale à une certaine valeur (pas toujours bien sûr, vous pouvez sélectionner n'importe quel champ existant dans une table).
Est-ce la bonne façon de penser à un dictionnaire ADT? Ou est l'utilisation prévue plus limitée que cela ...