Complexité d'un algorithme à travers des équations récurrentes
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Complexité d'un algorithme à travers des équations récurrentes



  1. #1
    invite6840e6b0

    Complexité d'un algorithme à travers des équations récurrentes


    ------

    Bonjour,

    Mon sujet ne parle pas à proprement parlé de mathématiques mais plus de calcul d'un algorithme (je ne sais donc pas si je le place dans le bon forum ou non, si ce n'est pas le cas j'en suis désolé), avec l'utilisation d'équations récurrentes.
    On me demande d'exprimer la complexité C(n) pour n impair, sous forme d'une équation de récurrence, puis d'en déduire l'expression de C(n) en fonction de n.
    Seule la comparaison sera considéré comme opération significative sur les test de n.

    Voici l'algorithme :

    Algorithme : fonction f
    début
    /*Entrées : un entier naturel n */
    /* Sortie : f(n) */
    si n≤2 alors retourner 1
    sinon
    si n pair alors retourner f(n-2)+f(n-4)
    sinon retourner n*f(n-2)

    Complexité C(n) = 2 + C(n-2) (ça j'ai compris pourquoi, 2 test sur n et on rappel f à dimension n-2)

    C'est la suite que je ne comprends quand la correction déroule :
    C(n) = 2 + C(n-2)
    C(n-2) = 2 + C(n-4) // le test sur n reste à deux car ces 2 comparaison ne sont pas récursives
    ...
    C(3) = 2 + C(1) // pourquoi le calcul de la complexité s'arrête à C(3) ?

    C(n) = 2 * ((n-1)/2) + C(1) // comment cette formule est-elle obtenue ? Car je ne vois aucun lien entre la ligne du haut et celle ci
    = n-1+1 // pourquoi C(1) = 1 ?

    merci d'avance pour vos réponses

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : Complexité d'un algorithme à travers des équations récurrentes

    Bonjour.

    "la complexité C(n) pour n impair"
    "pourquoi le calcul de la complexité s'arrête à C(3) ? " Non, regarde bien, il s'arrête à C(1).
    "comment cette formule est-elle obtenue ?" en comptant le nombre d'étapes. Ou en remarquant que la suite des C(k) (k impair) est une suite arithmétique.
    "Car je ne vois aucun lien entre la ligne du haut et celle ci" Et les autres lignes ne servent à rien ? Elles ont été écrites pour faire beau ?
    "pourquoi C(1) = 1 ?" relis l'algorithme et évalue la complexité quand n = 1.

    Cordialement.

    NB : Avec un peu de bonne volonté et d'attention, tu aurais peu comprendre tout seul (voire faire le calcul de toi-même).

Discussions similaires

  1. Complexité en espace d'un algorithme résursif
    Par kizakoo dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 02/01/2020, 19h41
  2. complexité d'un algorithme recursif
    Par invite85f7dd8b dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 08/12/2016, 07h25
  3. preuve et complexite algorithme
    Par invite27404bee dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 27/10/2016, 00h41
  4. Complexité de l'algorithme de Shor
    Par invite06fcc10b dans le forum Discussions scientifiques
    Réponses: 14
    Dernier message: 19/11/2009, 19h26
  5. Complexité d'algorithme
    Par invite84c98a4b dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 23/12/2006, 23h00