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 :

[Débutant] Nombre d'éléments d'une file


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    ingénieur apprenti
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur apprenti
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Débutant] Nombre d'éléments d'une file
    Bonjour tout le monde !

    Nouveau dans ce forum j'espère que tout va bien ce passer

    Je vous expose mon problème.

    j'ai une file (donc FiFo) et je dois en trouver le nombre d'éléments qui la compose. Or les file pile liste ce sont mes hantises en programmation pourtant c'est la base

    Pouvez vous m'aider svp

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Tout dépend de ton implémentation (et donc un peu du langage aussi).

    Ta file est représentée sous quelle forme ? Via un tableau, via une liste chaînée ou autre ?
    Tutoriels et FAQ TypeScript

  3. #3
    Candidat au Club
    Homme Profil pro
    ingénieur apprenti
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur apprenti
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de t'y pencher sur mon problème

    C'est juste de l'algo pur et dur

    j'ai ça en annexe et je comprends un peu mais je sais pas du tout manier la file.

    Nom : Capture.PNG
Affichages : 1886
Taille : 45,1 Ko

    ca serai avec un tableau ca serai très un simple une boucle POUR et c'est fini mais là ce n'est pas pareil..

  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 : 51
    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,

    avec les primitives proposées, le seul moyen de connaître le nombre d'éléments est de tous les défiler. Ensuite il te faudra gérer le fait de devoir les réempiler pour éviter de détruire la file et de faire attention aux cas particuliers. C'est une solution en O(n) temps et espace, avec n le nombre d'éléments dans la file.
    Si tu disposes d'un élément particulier qui n'est pas dans ta file ou si tu sais en plus que les éléments sont tous différents alors tu as une solution en O(n) temps et O(1) espace.

  5. #5
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Si on se base sur cette spécification abstraite d'une file, il faut raisonner en terme mathématique.
    Pour obtenir le nombre d'éléments de la file, tu dois compter le nombre de retraits d'un élément de la file (Retirer_Elem) pour que la file soit vide.

    Edit : il ne faut évidemment pas considérer une telle spécification abstraite comme une implémentation possible (qui serait bougrement inefficace) mais comme une liste des propriétés d'une file sous la forme d'invariants.
    Tutoriels et FAQ TypeScript

  6. #6
    Candidat au Club
    Homme Profil pro
    ingénieur apprenti
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur apprenti
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Salut Picodev et merci aussi de m'aider.
    Citation Envoyé par picodev Voir le message
    C'est une solution en O(n) temps et espace, avec n le nombre d'éléments dans la file.
    Si tu disposes d'un élément particulier qui n'est pas dans ta file ou si tu sais en plus que les éléments sont tous différents alors tu as une solution en O(n) temps et O(1) espace.
    C'est un algo de complexité si je me souviens de mon cours, je l'avais utilisé pour un tri par dichotomie si je me trompe pas. mais je n'arrive pas à voir le bout avec cette fille.

    Yahiko, ton raisonnement n'est pas mauvais ça a l'air d'être une solution mais retirer tous les éléments ne serait ce pas bon je pense. Peut être compter les itérations en les enlevant et les "stocker dans une nouvelle fille ?

  7. #7
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par xerondark25 Voir le message
    Yahiko, ton raisonnement n'est pas mauvais ça a l'air d'être une solution mais retirer tous les éléments ne serait ce pas bon je pense. Peut être compter les itérations en les enlevant et les "stocker dans une nouvelle fille ?
    Edit : il ne faut évidemment pas considérer une telle spécification abstraite comme une implémentation possible (qui serait bougrement inefficace) mais comme une liste des propriétés d'une file sous la forme d'invariants.
    Comme dit dans mon édit, il ne faut surtout pas chercher à transposer littéralement ce raisonnement en programme.
    Avec une telle spécification, nous sommes dans l'univers des mathématiques et non pas celui de la programmation.

    En d'autres termes, tu peux considérer que retirer un élément de la file ne le retire pas réellement mais créé une copie de cette file avec un élément en moins.
    f' = Retirer_Elem(f)
    f" = Retirer_Elem(Retirer_Elem(f))
    ...
    f(n) = Retirer_Elem(Retirer_Elem(...(Retirer_Elem(f))))

    de telle sorte que f(n) correspond à la file de laquelle on a retiré tous ses éléments (file vide), et où n correspond au nombre d'éléments de la file.
    Tutoriels et FAQ TypeScript

  8. #8
    Candidat au Club
    Homme Profil pro
    ingénieur apprenti
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur apprenti
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est bien ce que je pensais par rapport à ton edit
    Bah merci de m'avoir fait comprendre la file ^^ et je pense que pour la pile et liste c'est un peu comme ca aussi
    Il va falloir que je m'y penche vraiment car je galère en algo et on a des applications dessus en C et en Java. (je suis plus dans les réseaux que dans le code moi )

    Je pense avoir fait mon algo dans ma tête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Procédure nbre_element_file(E Element, ES/File)
    Variable  cpt entier 
    DEBUT
    cpt <- 0
    TANTQUE (NON File_Vide(E/File))
    Retirer_Elem(ES/File)
    cpt <- cpt+1
    FINTANTQUE
    AFFICHER cpt
    FIN

  9. #9
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    L'idée est là.
    Tutoriels et FAQ TypeScript

Discussions similaires

  1. [Débutant] Accèder à un élément dans une fonction
    Par whitespirit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/06/2008, 15h19
  2. [MySQL] comment trouver le nombre d'éléments dans une sgbd
    Par Bathou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/06/2008, 17h29
  3. Nombre d'éléments d'une liste de variables
    Par ash_rmy dans le forum SAS Base
    Réponses: 1
    Dernier message: 25/12/2007, 10h27
  4. Réponses: 5
    Dernier message: 12/02/2007, 01h19
  5. [Débutant] regroupement d'éléments dans une listBox
    Par fast&furious dans le forum Access
    Réponses: 2
    Dernier message: 15/10/2005, 15h05

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