Alors voila, j'ai un peu du mal a comprendre la question de la structure de donne. il faut donner les variables et leur
type ? C'est des objets ? Enfaite je suis pas sur d'etre sur la bonne voie.
Par exemple est ce que quelqu'un peut me donner la reponse a la question 1 du sujet 2010 sur le qui est ce ?
la 1er question des sujets de demi-finale
En gros, il faut que tu choisisses entre liste, array, arbre, pile, file, set etc.
Si tu reflechis un minimum a ton algo, tu comprends assez vite que tu vas devoir trier les persos selon un caractere.
Donc pour un perso, tu veux un acces en temps constant a chacun des caracteres. Et tu peux les indexer par des entiers
donc tu prends un array de booleans.
Les questions que tu peux poser, tu veux pouvoir les virer au fur et a mesure que tu les pose donc a priori tu veux un set. Mais vu que le nombre de questions est fixe, tu vas probablement representer ton set par un array de boolean.
Pour l'ensemble de persos tu prends un array contenant des array contenant leurs caracteristiques donc un bool array
array. Mais ca c'est pour l'ensemble de tous les persos. Apres dans ton arbre, tu vas devoir en avoir des sous
ensembles. Tu pourrais faire apreil avec moins de gens mais ce serait gacher de la memoire. Donc ce que tu fais, c'est
que pour les autres ensembles, tu ne garde que leur index dans l'ensemble de tous les tableaux. Du coup, tu represente
un perso par un entier.
Reste a savoir si tu veux une liste, un set ou autre. Et la je sais pas trop. Mais moi je ferais un int array. Mais
j'en sais rien au final. J'ai juste survole les 3 premieres questions.
Enfin bref, tu regardes les questions (qui t'indiquent les operations elementaires dont tu vas avoir besoin) et en fonction de ca, tu choisis comment tu stockes tes donnees pour 1) ne pas trop consommer de memoire 2) ne pas avoir un algo trop lent.
structure de donnée = comment sont représentée tes donnée, un entier, un tableau d'entier, une pile, une file, un tas,
un arbre, un graph etc... voir un truc super génial que t'inventes juste pour l'occase' !
...Pour le mastermind, un tableau d'entier suffit à stocker une réponse, pour le labyrinthe, un arbre fait l'affaire
(vu qu'il n'y a qu'un entrée.
« Pour le mastermind, un tableau d'entier suffit à stocker une réponse »
Voire même un seul entier, si on veut s'amuser. :D
Ouai merci j'etais pas trop sur que ca soit juste. Mais sinon le mastermind, sur la question de la representation de la strategie, il suffit de dire que c'est un arbre ? j'ai un peu du mal a voir comment y representer en tableau.
Edit :
Enfaite pense avoir trouvé comme un grand \^\^
fr.m.wikipedia.org/wiki/Arbre_(informatique)#section_1
Donc pour representer un arbre en tableau :
-la 1er dimension pour chaque noeud de l'arbre en prenant compte que l'index 0 c'est la racine.
-une 2em dimension pour en index 0 l'information du noeud, l'index 1 pour le nombre d'élément fils et de 2 a n+1, (si
n>0) les index des elements fils.
Il suffi d'utliser les algo de parcours de graphe et le tour est joué.
Que pensez de cette structure ?
désolé #xavierm02 j'avais pas compris tout ce que tu avais écrits. Mais merci, ca ma permis de me remettre l'esprit clair.
Donc pour representer un arbre en tableau :
...Ouai ou sinon:
struct Node
{
List adjacent;
// //
int etat;
int d;
}
...Structure plus usuelle
Voire même un seul entier, si on veut s'amuser. :D
...Ouai, enfin ça venait vite dégueu sur la correction xD
...Puis c'est moins rapide, Mais c'est marrant *_____________*
C'est dommage, j'aurais bien aimé aller à EPITA pour la demi, mais un empêchement de dernière minute qui m'a fait devoir contacter les admins, heureusement qu'ils sont super sympas :°
Par contre vue qu'il y a maximum 32 caractère, pour les Qui est qui, ça devient très intéressant de stocker dans un entier, car tout marche par masques binaire, ce qui est très rapide
struct Node
{
List adjacent;
// //
int etat;
int d;
}
ok merci :)
«Ma structure de données ? Un milliard de bits en accès constant.»
Satyriasis.
«Ma structure de données ? Un milliard de bits en accès constant.»
1073741824 bits plus exactement ;)