60 votes

La différence entre une table de hachage et un dictionnaire de l'ADT

Quelle est la différence entre une valeur de Hachage de la Carte et le dictionnaire de l'ADT. Et quand à préférer l'une sur l'autre. Pour ma programmation de l'affectation mon instructeur a demandé d'utiliser l'un d'eux, mais je ne vois pas la différence entre les deux. Le programme est censé fonctionner avec un énorme pas. de chaînes de caractères. Toutes les suggestions?

62voto

serenader Points 341

En termes de Java, à la fois la classe HashMap et la classe Dictionary sont des implémentations de la "Carte" du type abstrait de données. Les types de données abstraites ne sont pas spécifiques à un langage de programmation, et la Carte ADT peut également être connu comme un dièse, ou un Dictionnaire, ou un Tableau Associatif (d'autres à http://en.wikipedia.org/wiki/Associative_array). (Notez que nous faisons une distinction entre l' Dictionary de la classe et le Dictionnaire de l'ADT.)

L' Dictionary classe a été marqué comme obsolète, il est donc préférable de ne pas l'utiliser.

18voto

Jim Nelson Points 1016

Ce Débordement de Pile post fait un bon travail en expliquant les principales différences:

Java hashmap vs hashtable

Notez que la table de hachage est simplement une mise en œuvre du Dictionnaire de l'ADT. Notez également que Java considère Dictionnaire "obsolète".

Le fait que la table de hachage est synchronisé n'achète pas beaucoup pour la plupart des utilisations. Utiliser La Table De Hachage.

8voto

Vincent Ramdhanie Points 46265

En Java, la table de hachage implémente l'interface de la Carte tandis que le Dictionnaire ne fonctionne pas. Que fait le Dictionnaire obsolète (selon les docs de l'API). Qui est, ils font tous les deux une fonction similaire, donc vous avez raison, ils semblent très similaires...une table de hachage est un type de dictionnaire.

Il est conseillé d'utiliser la table de hachage bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X