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 :

exemple complexités linéaires


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut exemple complexités linéaires
    bien le salut a vous
    voila je suis sur un cour d'algo et je n'arrive pas a assimilé ce que c'est qu'un exemple de compléxité linéaires?
    quelqu'un peut-il me l'expliqué svp?
    amicalement adel

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pour tout i de 0 à N
       result = result + i

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pour tout i de 0 à N
       result = result + i
    Alors je vais faire mon chiant, mais pour moi, cet algo est de complexité exponentielle et non linéaire.

    On dit qu'une complexité est linéaire si la complexité est en O(t) ou t est la taille de l'entrée. Comme la taille d'un entier n est en t= log(n), la complexité est donc O(n) = O(exp(t)), et donc exponentielle par rapport à la taille de l'entrée.



    En revanche, l'algo suivant est de complexité linéaire car l'entrée est un tableau de taille n :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Entrée : tableau de taille n
     
    Pour i= 0 à taille(tableau)
       ....

  4. #4
    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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par millie Voir le message
    On dit qu'une complexité est linéaire si la complexité est en O(t) ou t est la taille de l'entrée.
    ???

    Je ne vois pas pourquoi "entrée" serait forcément synonyme de "longueur" d'un tableau ou d'un champ de bits
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    ???

    Je ne vois pas pourquoi "entrée" serait forcément synonyme de "longueur" d'un tableau ou d'un champ de bits
    Je veux dire que quand on parle de complexité polynomiale, linéaire, exponentielle, c'est toujours par rapport à la taille de l'entrée (ou de l'instance ou de la donnée).

    Après, on parle de complexité suivant ce qu'on veut.
    L'exemple de souviron est linéaire par rapport à n. Mais n'est pas à proprement parler linéaire tout court.

    Bon, c'est nase, mais dire que l'algorithme est de complexité polynomiale (classe P) est différent de dire qu'il est de complexité polynomiale par rapport à n (enfin, classe P, c'est pour les problèmes et non les algorithmes)

    Toute façon, c'est l'heure de l'apéro

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par millie Voir le message
    Toute façon, c'est l'heure de l'apéro
    je pense que ça devrait être du café, plutôt...


    Citation Envoyé par millie Voir le message
    Alors je vais faire mon chiant, mais pour moi, cet algo est de complexité exponentielle et non linéaire.
    ....



    Soit le code :

    Citation Envoyé par souviron34 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pour tout i de 0 à N
       result = result + i
    et le code :

    Citation Envoyé par millie Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Entrée : tableau de taille n
     
    Pour i= 0 à taille(tableau)
       ....
    Si je dis que mon tableau est de taille N , et que je veux en faire la somme, je pars de ton code , et je remplace tes points de suspension par s=tab[n]+s... et j'arrive au mien, avec la même complexité.... linéaire..

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2017, 11h04
  2. Réponses: 1
    Dernier message: 28/12/2012, 16h09
  3. exemple de complexité en moyenne
    Par bazoga dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 19/05/2011, 15h45
  4. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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