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 :

Complexité d'un algorithme


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Par défaut Complexité d'un algorithme
    Bonjour, j'ai du mal à calculer la complexité algorithmique d'une fonction trapèze.
    On donne l'algorithme suivant :

    Entrée : f fonction, a,b réels , n entier
    Sortie : res
    Variables locales : res, pas, x1,x2 réels
    Début :
    res=0
    pas=valeur absolue de (b-a)/n
    Pour i allant de 0 à n-1:
    x0=a+(pas*i)
    x1=a+(pas*(i+1))
    res=res+pas*0,5*(f(xo)+f(x1))
    Fin

    On me demande de la calculer en tenant compte seulement de l'appel à la fonction et de modifier l'algorithme pour réduire cette complexité en calcul.
    Mais je ne vois vraiment pas comment procéder.
    Merci d'avance

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Tu découpes ton intervalle en n parties et tu sommes sur la moyenne des extrémités des parties. Tu peux donc simplifier.

    res=(f(x0)+f(x1))/2+(f(x1)+f(x2))/2+(f(x2)+f(x3))/2+...
    Formule mathématique

    Au final, tu fais la moyenne des extrémités et tu ajoutes toutes tes images intermédiaires.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Citation Envoyé par antodugers Voir le message
    On me demande de la calculer en tenant compte seulement de l'appel à la fonction
    En d'autres termes : combien d'opérations (addition, soustraction, multiplication, division, affectation, etc.) effectues-tu au plus en fonction de n (qui limite le nombre d'itérations de ta boucle) ?

    On te demande alors probablement une complexité asymptotique, c'est-à-dire la plus haute puissance de la fonction que tu as obtenue. Par exemple, si tu effectues Formule mathématique opérations exactement, tu auras une complexité asymptotique de Formule mathématique : en multipliant ce dernier polynôme par une constante, tu as une borne supérieure sur le nombre d'opérations à effectuer, ce qui se note souvent Formule mathématique.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Par défaut
    Merci pour vos explications.
    Mais du coup si on fait le somme on a : (n(f(b)+f(a))/2. Et du coup c'est une complexité linéaire (O(n)) ? J'ai un peu du mal à en déduire la complexité

Discussions similaires

  1. Complexité de l'algorithme de multiplication matricielle de strassen
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 09/07/2007, 07h27
  2. Complexité de l'algorithme de multiplication de Karatsuba
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 27/03/2007, 12h02
  3. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  4. [Complexité d'un algorithme] Triangle de Sierpinski
    Par Opérateur dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 18/12/2006, 15h25
  5. complexité d'un algorithme par un...algorithme??
    Par afrikha dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 02/11/2005, 00h59

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