IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

solution non récursive au problème des N reines


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    41
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 41
    Points : 29
    Points
    29
    Par défaut solution non récursive au problème des N reines
    Bonjour tout le monde,
    je cherche a implémenter une solution non récursive du problème des N reines. J'ai donc commencé par essayer d'écrire un alogrithme (en pseudo code). Je voudai être sur que mon algorithme tient la route avant de commencer à coder. Pouriez vous me dire ce que vous en pensez s'il vous plaît. Si je pouvais valider l'algorithme avant de commencer à coder, je suis que je perdrai beaucoup moins de temps.
    Je suppose que je dispose d'une structure "Echiquier" qui garde les positions des reines sur l'échiquier.
    Je suppose que je dispose d'une structure "Reine" qui enrregistre ses coordonnées sur l'echiquier.
    Voici mon algorithme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    t : tableau de n reines
    i : indice de parcours du tableau t
    i <- 0
    while(true) :
    ____ // on suppose que la recherche de coordonées commence a partir de la valeur des coordonnées courantes de la reine (les coordonnées etant mises à zéro à l'initialisation d'une reine)
    ____ found <- Echiquier.trouve_place( t[ i ] )
    ____ si non( found ) :
    ____ ____ i <- i-1 // pas de solution trouvée, on revient en arrière
    ____ ____ Echiquier.supprimer( t[ i ] )
    ____ si found :
    ____ ____ si i = n-1 :
    ____ ____ ____ // solution trouvé : effet de board
    ____ ____ ____ i <- i-1 // on revient en arrière, pour chercher une autre solution
    ____ ____ sinon :
    ____ ____ ____ si i = 0 et t[i].y = n-1 :
    ____ ____ ____ ____ // toute les solutions ont été trouvées 
    ____ ____ ____ ____ // fin de exété avec succès, sortir de la boucle
     
    ____ ____ ____ sinon : // une reine a été placée
    ____ ____ ____ ____ i <- i+1
    // fin de l'algorithme
    Voila, j'espere que ce pseudo code est assez clair. Si vous voulez avoir certaines precisions, demandez moi
    N'hésiter pas à apporter des critiques.
    Merci, au revoir.

  2. #2
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Le bon point c'est que l'algorithme est correct (en supposant le trouve_place qui va bien).

    Le mauvais point c'est que la complexité est en O(n^n) alors que si tu permutais les entiers de 1 à n la complexité serait de O(n!) ce qui serait relativement moins catastrophique
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme des N-reines.
    Par Masshat dans le forum Prolog
    Réponses: 3
    Dernier message: 04/02/2013, 21h09
  2. Problème des n-reines
    Par Myrne dans le forum MATLAB
    Réponses: 7
    Dernier message: 22/03/2011, 15h17
  3. Afficher toutes les solutions au problème des N-Reines
    Par pottiez dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 15h38
  4. Réponses: 5
    Dernier message: 23/05/2007, 17h48
  5. problème des N reines récursif
    Par duvi dans le forum C++
    Réponses: 7
    Dernier message: 20/02/2006, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo