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 :

Parcours de listes dans une liste


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut Parcours de listes dans une liste
    j'ai un algorithme a écrire qui me semble compliqué puisque je suis débutante en algorithmique.

    j'ai une liste L1(S1,S2,......Sn)
    pour chaque Si on a une liste
    S1(A1,A2,.....,Am)
    S2(B1,B2,B3,.......Bp)
    Sn(R1,R2,.....Rr)
    on a a calculer pour chaque élément de Si une valeur f=prob1*prob2; f entre 0 et 1

    si f=1 on enlève l'élément correspondant
    si f=0 on crée une nouvelle liste plan1= ( tous les élements de Si dont f=0) exemple plan1=(A2,B2,..Rr-1) ( rqe le nombre éléments de plan1 doivent égales aux élément de L1)
    sinon on crée plan2 avec ( toutes les combinaisons possibles qui restent)

    Voila je suis vraiment bloquée, j'attend vos aides svp.

    Merci d'avance ;

  2. #2
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Bonjour,

    Tu n'es pas très clair donc je ne vais répondre qu'à la question que tu poses en titre : «un algorithme qui parcourt des listes dans une liste».
    Il faut faire deux boucles, la première qui parcourt L et la seconde imbriquée qui parcourt la sous liste courante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure parcourt( L : liste de liste )
    début
      SC : liste
      SC = tete(L)
      tant que SC ≠ Nil faire
        E : Element
        E = tete(SC)
        tant qie E≠ Nil faire
          faire ce qu'il y a faire avec E
          E = suivant(E)
        fin tant que
        SC = suivant(SC)
      fin tant que
    fin

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    Merci pour la réponse mais comment c'est pas clair?

    je réexplique.

    j'ai une liste L1 ( S1,S2, .....Sn)

    S1 lui mème est une liste
    S2 est une liste
    Sn est une liste

    je doit parcourir toutes les listes et faire mes testes pour chaque élément.

    Voilà.

  4. #4
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Citation Envoyé par 080983 Voir le message
    j'ai une liste L1 ( S1,S2, .....Sn)

    S1 lui mème est une liste
    S2 est une liste
    Sn est une liste

    je doit parcourir toutes les listes et faire mes testes pour chaque élément.
    Oui, cette partie est claire, et ma réponse la cconcerne. La partie qui n'est pas claire, mais alors pas claire du tout, est :

    Citation Envoyé par 080983 Voir le message
    [...]
    on a a calculer pour chaque élément de Si une valeur f=prob1*prob2; f entre 0 et 1

    si f=1 on enlève l'élément correspondant
    si f=0 on crée une nouvelle liste plan1= ( tous les élements de Si dont f=0) exemple plan1=(A2,B2,..Rr-1) ( rqe le nombre éléments de plan1 doivent égales aux élément de L1)
    sinon on crée plan2 avec ( toutes les combinaisons possibles qui restent)
    [...]
    Que j'ai résumée par un «faire ce qu'il y a à faire» dans mon algo …

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    Merci bp

    j'explique

    faire ce qu'il y a à faire est destinée à: admettons qu'on a L(T1,T2,T3)
    T1(S1,S2,S3,S4) S de T1 ordonnés de 1 jusqu'à 4
    T2(Sa ,Sb ,Sc, Sd) S de T2 ordonnés
    T3(Sα,Sβ,Sµ,SƟ) S de T3 ordonnés



    T1(S1,S2,S3,S4) (admettons que S1 reçoit f=0.5, S2 reçoit f=0, S3 reçoit f=1et S4 reçoit f=0.5)
    T2(Sa ,Sb ,Sc, Sd) (admettons que Sa reçoit f=1, Sb reçoit f=0, Sc reçoit f=0.5 et Sd reçoit f=1)
    T3(Sα,Sβ,Sµ,SƟ) (admettons que Sα reçoit f=1, Sβ reçoit f=0, Sµ reçoit f=0 et SƟ reçoit f=0)

    si f=0
    T1(S10,S3,S4)
    T2(Sa, Sc, Sd)
    T3(Sα)
    si f=1
    Plan1(S3,Sa, Sα)
    Plan2(S3,Sd,Sα)
    sinon
    Plan3(S1,Sc,Sα)
    Plan4(S4,Sc,Sα)


    le but est d'avoir un plan de service et une probabilité d'exécution de chaque Plan.

    j'espère que je suis claire.

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par 080983 Voir le message
    j'espère que je suis claire.
    Je ne sais pas si c'est la fin de semaine, mais je n'ai pas compris grand chose à tout ça

  7. #7
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Pas super super clair mais d'après ce que je comprends il y a une première passe avec la suppression des éléments des des sous listes qui ont un f=0.
    Ensuite il faut créer plusieurs listes dont les éléments sont choisis suivant la valeur de leur f. Le premier éléments est choisi parmi ceux de la première sous liste dont f vaut 1, le deuxième de la deuxième liste, etc ...
    On refait la même chose avec ceux dont le f est différent de 1.

    La première phase est simple. Les deux suivantes consistent à créer des combinaisons ce qui en soi n'est pas forcément compliqué.

    Enfin si j'arrive à bien décoder.

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 100
    Points : 9 490
    Points
    9 490
    Par défaut
    Henri Poincaré a dit : "Un problème bien posé est un problème à moitié résolu".
    Ca s'applique particulièrement en algorithmie.
    Ici, on ne comprend pas ta question ; il reste des doutes.
    Fais l'effort de formuler ton problème, en le décomposant en étapes // sous-étapes. Avec des phrases simples : sujet/verbe/complément.
    Quitte à ce que ça prenne 30 lignes.
    Quand tu auras bien décrit ton problème en langue française, la traduction en algorithme sera une formalité. Même pour toi qui débute en algorithme.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Merci pour vos réactions,

    En réalité j'ai une liste de services web demandés ; traduit par L(T1,T2,T3) a savoir que le nombre d'éléments de L est connu.
    chaque service T1, T2,T3 a un ensemble de services candidats
    T1(S1,S2,S3,S4) qui sont ordonnés de 1 jusqu'à 4 selon des critères de QoSW
    T2(Sa ,Sb ,Sc, Sd) qui sont ordonnées
    T3(Sα,Sβ,Sµ,SƟ) qui sont ordonées

    a savoir que les nombres d'élements de Ti sont inconnus

    maintenant pour chaque service Si j'ai un calcul de probabilité de changement de contexte ( mon contexte est le changement de localisation et de réseau de connexion). cette probabilité est à calculer avec une formule que j'ai déjà défini. donc je doit parcourir toutes les sous listes T1,T2,T3 et calculer pour chaque Si la valeur f.
    si f=1 ça veut dire que la probabilité de changement de contexte est maximale. donc j'aurais plus les mêmes services que j'ai découvert avant le changement de contexte. donc j'élimine ces services de mes listes.
    si f=0 ça veux dire que la proba est minimale, y'a pas de changement de contexte donc tous les services qui ont f=0 vont participer à la construction de la liste de services à composer. et j'ai a remplir cette liste par seulement les services qui n'ont aucune proba de changement qui sont sûr.
    dans ce cas la liste a préparer va contenir un service de chaque sous liste de valeur f=0. je peux avoir plusieurs liste biensur chacune a 4 éléments Si de chaque Ti dont son f=0)

    sinon, ça veux dire que la proba maintenant est entre 0 et 1. donc j'ai des listes a préparer avec un service Si de chaque sous liste Ti de valeur f entre 0 et 1. j'aurais plusieurs listes de 4 éléments aussi, avec ces éléments des Si dont la valeur f entre 0 et 1.

    f= P1*P2 avec P1 (proba de changement de localisation) et P2( proba de changement de réseau) donc f est une fonction qui est déjà faite et a appeler dans cet algo. de meme P1 et P2 deux fonctions a appeler dans f. dans cet algo on admet que les fonctions sont faites, on fait juste l'appel.

    ces listes que j'ai préparer vont être de deux types . des liste avec des élements tous leurs f=1 donc sa proba d'exécution = 1.
    d'autres avec des élements dont leurs f entre 0 et 1 que je dois les ordonner pour pouvoir les exécuter.

    Voilà, j'éspère que c'est plus claire.

    et Merci bp a vous tous.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    Oui picodev , mais comment faire ?

  11. #11
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Je ne peux pas faire ton travail à ta place ... mais google peut t'aider à trouver des algos qui te seront utiles.
    Par exemple pour générer tous les tuples dont tu as besoin tu peux t'inspirer de l'algo L de Knuth dans le fascicule 2b de son TAOCP (à utiliser dans le squelette que je t'ai donné).
    Le tout est de bien organiser tes données.

Discussions similaires

  1. Une liste dans une liste
    Par Amadeus73 dans le forum Général Java
    Réponses: 4
    Dernier message: 04/08/2011, 19h19
  2. une liste dans une liste?
    Par JerryOne3 dans le forum C#
    Réponses: 11
    Dernier message: 11/01/2009, 16h43
  3. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56

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