Dictionnaire en format DAWG

Soyez le premier à donner votre avis sur cette source.

Vue 3 674 fois - Téléchargée 555 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 ainsi 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
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Un erreur a été corrigée lors de la création du fichier compressé du dictionnaire réel en mode graphe
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Merci pour l'appréciation Whismeril !
Pour info j'ai refait les 2 Scrabbles ainsi que la source "Accès direct disque en VB NET" avec des classes !
Messages postés
15931
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 mai 2021
545
Pas mal!
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Pour info je l'ai refait avec des classes ( il n'y en a que 2 d'ailleurs )
Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
Salut Whismeril
Mes bonnes résolutions se sont arrêtées lorsque j'ai voulu faire de même pour le scrabble !
La philosophie "objet" est bien comprise ( j'ai même réussi à créer des évènements avec RaisEvent et Public Event dans la classe et les déclencher dans la Form même avec le Handles NomdeClass.NomEvenement)
Et 2 évènements identiques dans 2 classes différentes se déclenchent avec la même sub dans la Form ( suffit de mettre les 2 Handles)
J'ai bien réussi les classes dans le Scrabble avec l'initialisation du jeu, le dictionnaire lui-même, la recherche des coups légaux mais ça a coincé grave dans le déroulement du jeu !
C'est surtout au niveau de l'accès à une variable d'une classe A dans une classe B avec les Shared , Public, Private , etc ...... et les messages d'erreur au niveau des instances de classe et compagnie .
Du coup j'avoue j'ai lâchement abandonné !!!!!!!!!! Va savoir si je vais pas m'y remettre !
Le Scrabble par lui-même je l'ai abandonné 4 ou 5 fois et à la fin je l'ai réussi !
Afficher les 15 commentaires

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.