Dictionnaire en format DAWG

Soyez le premier à donner votre avis sur cette source.

Vue 3 022 fois - Téléchargée 447 fois


Description

Une source sur la compression d'un dictionnaire au format DAWG (Direct Acyclic Word Graph pour les puristes )

Ceci peut servir à compresser un dictionnaire pour différents jeux de lettres .
Je m'en sers d'ailleurs dans la source du dernier jeu que j'ai posé : le Scra..... pour ne pas le nommer

Un grand merci à Carlvb pour son excellent travail qui m'a servi de moteur lors de ce projet avec son tuto sur le DAWG
Je remercie aussi Whismeril pour son portage en C# avec une toute autre approche pour la gestion du dictionnaire ( voir http://codes-sources.commentcamarche.net/source/101693-implementation-d-un-dictionnaire-dawg-en-c )

La source présente les 2 méthodes de création du dictionnaire ( celle de Karl avev un tableau de noeuds et celle de Whismeril avec un tableau en forme de graphe)
Le tuto de Carlvb sur le DAWG est ici : http://codes-sources.commentcamarche.net/faq/10903-compression-d-un-dictionnaire-sous-forme-de-dawg
Les 2 méthodes de compression ont été incorporées dans la création du dictionnaire ( voir détails dans le tuto sur le DAWG)

Un dictionnaire est incorporé en tant que ressource dans le projet .
Ce dictionnaire est très connu dans le milieu du SCR.....
D'autres dictionnaires sont utilisables . Ils ne doivent comporter qu'un mot par ligne et aucun caractère accentué n'est admis dans ce fichier . De plus le fichier doit être dans l'ordre
alphabétique .

Un mini-dictionnaire test de 10 mots est incorporé au projet pour voir plus facilement la méthode en 2 passes
ATTENTION : dans le tuto de Carlvb ansi que la version C# de Whismeril les noeuds commencent à 1 alors que dans ce projet ils commencent à 0

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

carlvb
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
2 -
Salut vb95,

Bravo, le programme donne une bonne illustration de la représentation en mémoire du dictionnaire et donne des statistiques inintéressantes.

Simple remarque : En lisant le code, je vois que les noeuds terminaux sont représentés par #. Toutefois, en enregistrant le dico compressé je vois des -[1 dans le fichier. Cela semble toutefois ne pas avoir d'incidence sur le fonctionnement du programme.

Bonne continuation.

Carl
vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
74 > carlvb
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
-
Salut Carlvb
Je me suis bien amusé avec le DAWG
Je vais regarder pour les -[1 dont tu parles pour voir
Pour info dans ton tuto sur le DAWG cela fait une semaine que j'essaie d'adapter la méthode en une seule passe et cela foire ! Je ne suis pas loin du tout mais je désespère grave
Merci pour tes encouragements et bonne prog à toi
vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
74 > vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
-
Salut Carlvb
J'ai corrigé dans le projet les [1 et les ai remplacé par #
Pour l'instant on ne peut pas modifier une source sur le site
Dès disponibilté je mets à jour
vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
74 > vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
-
La modification a été faite
carlvb
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
2 > vb95
Messages postés
1962
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
11 novembre 2019
-
Pour le tuto, j'ai fait le chemin inverse. J'ai commencé par la méthode en une seule passe et c'est à la fin que je l'ai adaptée pour avoir la méthode en deux temps. Par la suite, c'est la méthode en deux temps que j'ai retenue comme elle est plus rapide et que les contraintes liées à l'utilisation mémoire n'étaient pas trop pénalisantes.
Effectivement j'ai passé un temps fou à faire des essais sur le dico test pour mettre au point le code.
Bon courage pour la suite.

PS : le GADDAG pour bientôt?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.