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 :

Trier ou pas ?


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Par défaut Trier ou pas ?
    Bonjour,
    J'ai un tableaux de 7 valeurs entre 1 et 13 non trié. (index "ind" de 1 à 7)
    J'ai une valeur x entre 1 et 13
    Je voudrais prendre dans le tableau [A] la plus faible valeur supérieure à x.
    Suis-je obligé de trier [A] avant ou y a t-il moyen de s'en passer, et si oui comment (en pseudo code svp)
    Merciiiii.

  2. #2
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Non tu n'es pas obligé, et tu ne devrais pas le faire si tu n'en as pas besoin, car c'est une opération dont le coût est en général en O(nlog(n)), alors qu'ici ce que tu veux faire est en O(n).

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Par défaut
    Citation Envoyé par balkany Voir le message
    Non tu n'es pas obligé, et tu ne devrais pas le faire si tu n'en as pas besoin, car c'est une opération dont le coût est en général en O(nlog(n)), alors qu'ici ce que tu veux faire est en O(n).
    Si je ne trie pas il va me sortir la première valeur supérieure qu'il va trouver, mais pas la plus faible du tableau.
    Tu ne m'aide pas des masses.

  4. #4
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Fais un effort : c'est pas bien compliqué de stocker cette valeur et de la comparer à celles qui sortiront ensuite…

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Par défaut
    Citation Envoyé par balkany Voir le message
    Fais un effort : c'est pas bien compliqué de stocker cette valeur et de la comparer à celles qui sortiront ensuite…
    C'est sûr que quand on sait faire, tout est facile et rien n'est compliqué.
    Mais bon, faut savoir faire, et là ça fait un moment que je mets des instructions dans tous les sens et pour l'instant, j'en suis à trier, vu qu'autrement j'y arrive pô mais comme le tableau est "soudé" à d'autres c'est la panique des index.
    Au secours les bonnes âmes...

  6. #6
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Je ne sais pas si c'est du pseudo-code correct, mais voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    y = INF
    Pour i = 0; i < longueur (A); i = i + 1
      Si x < A[i] et A[i] < y
        y = A[i]
      FinSi
    FinPour
    Et si tu ne peux ou ne veux pas initialiser y avec une valeur « infinie », tu peux découper la boucle en deux temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Pour i = 0; i < longueur (A); i = i + 1
      Si x < A[i]
        y = A[i]
        Interruption
      FinSi
    FinPour
     
    Pour j = i; j < longueur (A); j = j + 1
      Si x < A[j] et A[j] < y
        y = A[j]
      FinSi
    FinPour

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

Discussions similaires

  1. Trier par pas de 50
    Par rabia dans le forum Excel
    Réponses: 1
    Dernier message: 28/01/2010, 19h04
  2. Une requête que je ne parviens pas à trier
    Par renaud26 dans le forum Requêtes
    Réponses: 16
    Dernier message: 02/04/2008, 20h49
  3. KeyListener, je n'arrive pas a les trier.
    Par Djobird dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/05/2007, 09h37
  4. Réponses: 6
    Dernier message: 30/01/2007, 09h05
  5. [MySQL] [SQLyog] comment ne pas trier les attributs sur 1 PK
    Par raoulmania dans le forum Installation
    Réponses: 11
    Dernier message: 19/12/2005, 16h30

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