Partage
  • Partager sur Facebook
  • Partager sur Twitter

python pour observer la complexité d'une fonction

Python Fonction ConstruireTas

    3 février 2025 à 19:08:45

    Bonjour,

    Je dois écrire un script permettant d'observer la complexité (en nombre d'instructions puis en temps) de la fonction ConstruireTas qui prend en entrée/sortie un tableau d entiers qu elle transforme en tas (ie un arbre binaire complet où chaque sommet vérifie la propriété de tas : pour tout sommet x, clef(Pere(x))>= clef(x). J'ai implémenté en python la fonction ConstruireTas. Il faut que je me serve de :

    from pylab import *                                                                         def afficherCourbe(maListeDeValeurs,name):                                  plot (array(range(len(maListeDeValeurs))),array(maListeDeValeurs), label =name)

    legend (loc='uppercut right')                                                          show()

    Je n'ai pas bien compris la fonction afficherCourbe.

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      4 février 2025 à 13:31:06

      son instruction principale étant plot, elle va come son nom l'indique tracer une courbe pour représenter "maListeDeValeurs) 

      https://matplotlib.org/stable/api/pylab.html (matplotlib décourage l'utilisation de "from pylab import *")

      https://matplotlib.org/stable/api/pyplot_summary.html#module-matplotlib.pyplot la fonction appelé est en fait matplotlib.plot  

      En gros, le 1er paramètre créé un tableau de valeur allant de 0 à la longueur de la liste, et le 2nd paramètre transforme la la liste en tableau.

      • Partager sur Facebook
      • Partager sur Twitter
        4 février 2025 à 19:09:13

        D'accord merci,

        Et pour le script je dois donc remplacer name par construireTas et on a pas une liste spécifique (il faut une liste avec des valeurs random) donc je dois remplacer maListeDeValeur par quoi exactement pour avoir une liste à valeur aléatoire.

        De plus, il suffit de coder ces lignes pour obtenir le résultat attendu ? (graphique qui permet d'observer la complexité) ou sinon je dois ajouter d'autres éléments, étant débutant en informatique je n'ai pas très bien compris comment réaliser ce travail.

        Merci.

        • Partager sur Facebook
        • Partager sur Twitter
          5 février 2025 à 16:34:19

          le label c'est le nom que tu donnes à ton graphique (ta courbe), c'est à toi de voir ce qui est le plus explicite.

          le graphique va afficher ce que tu lui présentes comme données, c'est à toi de savoir quelles données tu dois lui donner.

          A mon avis, ça doit être des résultats de tests d'utilisation de ta fonction en fonction de la taille/complexité de ta variable d'entrée  (ton/tes tableau(x) d'entiers codant pour ton/tes arbre(s))(donc la liste passée devrait contenir la liste des temps par exemple de plusieurs tests de ta fonction: essai 1 => temps 1, essai 2 => temps 2, ....) 

          ou quelque chose du genre.

          • Partager sur Facebook
          • Partager sur Twitter

          python pour observer la complexité d'une fonction

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown