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 :

Toutes les sous-séquences croissantes et maximales d'une séquence des entiers


Sujet :

Algorithmes et structures de données

  1. #21
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    ? Ca serait pas plutot l'affichage des sscm qui ralentit le test ?
    Effectivement (bon j'avais redirigé vers /dev/null, mais même ainsi...) si je me contente de faire compter le nombre de sscm par ton code, alors tu descend à 130ms, contre 420ms pour ma fonction (d'un autre côté, ma fonction renvoie la liste de toutes les sscm, alors que du coup la tienne ne fait plus rien que compter, peut-être serait-il plus équitable de comparer avec une fonction en Java qui renvoie la liste de toutes les sscm ?)

    [EDIT] Je descend à 180ms avec une fonction qui ne fait que compter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nsscm [] = 1
    nsscm xs@(x:_) = sum . map (\(y:ys) -> nsscm $ filter (>y) ys) $ cs
        where 
          cs = snd . foldl' isStart (x,[xs]) . init . tails . tail $ xs
          isStart p@(mini,cs) c@(y:_) 
              | y < mini = (y,c:cs)
              | otherwise = p
    --
    Jedaï

  2. #22
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Jedai Voir le message
    peut-être serait-il plus équitable de comparer avec une fonction en Java qui renvoie la liste de toutes les sscm ?
    En stockant les résultats dans un ArrayList, je passe de 141ms à 1250ms.

    Cool, un facteur 10.

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static List<int[]> sscm = new ArrayList<int[]>();
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    (...)
    	// la subseq ne grossit plus -> fini
    	if (min==Integer.MAX_VALUE) {
    		sscm.add(Arrays.copyOf(subseq, subseqlen));
    	}
    (...)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    Bonjour,
    D'abord je vous remercie beaucoup. vous etes formidable

    L'algo que vous avez donné est très bien et marche en un complexité bien.


    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Lister toutes les sous-classes d'un classe mère
    Par Kerod dans le forum Langage
    Réponses: 10
    Dernier message: 09/02/2009, 19h21
  2. Réponses: 2
    Dernier message: 22/04/2008, 13h45
  3. Réponses: 10
    Dernier message: 10/12/2006, 16h26
  4. [MS-DOS] Supprimer tout les sous répertoires contenu dans un
    Par Furius dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 30/11/2005, 12h24

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