Graphique un peu plus beau
This commit is contained in:
parent
07ad4f2f6f
commit
a365b4321f
|
@ -24,7 +24,7 @@ parser = argparse.ArgumentParser(
|
|||
parser.add_argument(
|
||||
'--brut', action='store_true', help="afficher les données brutes")
|
||||
parser.add_argument(
|
||||
'--poly', action='store_true', help="calculer la regression pôlynominale")
|
||||
'--poly', action='store_true', help="calculer la regression polynôminale")
|
||||
parser.add_argument(
|
||||
'--graph', action='store_true', help="voir les données sous forme de graphique")
|
||||
parser.add_argument('-m', type=int, default=100, help="Changer la valeur de m")
|
||||
|
@ -55,18 +55,24 @@ if args.poly:
|
|||
# Affichage
|
||||
from matplotlib import pyplot
|
||||
if args.graph:
|
||||
pyplot.plot(xData, yData, 'x')
|
||||
pyplot.plot(xData, yData, 'x', label="Données brutes")
|
||||
if args.poly:
|
||||
if args.poly:
|
||||
def f(x):
|
||||
"""
|
||||
float → float
|
||||
Retourne un point de la regression polynominale de l'analyse du tri.
|
||||
Retourne un point de la regression polynôminale de l'analyse du tri.
|
||||
CU : polynome est défini
|
||||
"""
|
||||
somme = 0
|
||||
y = 0
|
||||
for d in range(len(polynome)):
|
||||
somme += polynome[d] * x**(len(polynome) - 1 - d)
|
||||
return somme
|
||||
pyplot.plot(xData, [f(x) for x in xData], '-')
|
||||
y += polynome[d] * x ** (len(polynome) - 1 - d)
|
||||
return y
|
||||
pyplot.plot(xData, [f(x)
|
||||
for x in xData], '-', label="Régression polynôminale")
|
||||
pyplot.legend(loc='upper left')
|
||||
pyplot.xlabel("n")
|
||||
pyplot.ylabel("comparaisons")
|
||||
pyplot.title("Nombre de comparaisons faite par le tri par insertion en fonction de la longueur \
|
||||
de la liste")
|
||||
pyplot.show()
|
||||
|
|
|
@ -28,6 +28,7 @@ affichage = __name__ == '__main__'
|
|||
# fonctions et questions, mais pour la facilité de la correction nous avons préféré qu'il en soit
|
||||
# ainsi.
|
||||
|
||||
|
||||
def partie(nom):
|
||||
"""
|
||||
str → ∅
|
||||
|
@ -60,6 +61,7 @@ def question(numero):
|
|||
if affichage:
|
||||
print('\n***', 'Question', numero, '***')
|
||||
|
||||
|
||||
def reponse(texte):
|
||||
"""
|
||||
str → ∅
|
||||
|
@ -260,7 +262,8 @@ if affichage:
|
|||
for nb in range(1, 101):
|
||||
tableau.append([nb,
|
||||
tri_et_compte(tri_selection, liste_croissante(nb))[1],
|
||||
tri_et_compte(tri_selection, liste_alea(nb, 0, 500))[1],
|
||||
tri_et_compte(
|
||||
tri_selection, liste_alea(nb, 0, 500))[1],
|
||||
tri_et_compte(tri_selection, liste_decroissante(nb))[1]])
|
||||
afficher_tableau(tableau)
|
||||
|
||||
|
@ -275,7 +278,8 @@ if affichage:
|
|||
for nb in range(1, 101):
|
||||
tableau.append([nb,
|
||||
tri_et_compte(tri_insertion, liste_croissante(nb))[1],
|
||||
tri_et_compte(tri_insertion, liste_alea(nb, 0, 500))[1],
|
||||
tri_et_compte(
|
||||
tri_insertion, liste_alea(nb, 0, 500))[1],
|
||||
tri_et_compte(tri_insertion, liste_decroissante(nb))[1]])
|
||||
afficher_tableau(tableau)
|
||||
|
||||
|
@ -339,6 +343,7 @@ est {t2}.\nLes nombres de comparaisons pour ces deux tris sont {res}.".format(t1
|
|||
|
||||
question(1)
|
||||
|
||||
|
||||
def nbre_moyen_tri_insertion(m, n):
|
||||
"""
|
||||
int, int → float
|
||||
|
@ -348,7 +353,8 @@ def nbre_moyen_tri_insertion(m, n):
|
|||
"""
|
||||
compTotal = 0
|
||||
for _ in range(m):
|
||||
compTotal += tri_et_compte(tri_insertion, liste_alea(n, -5000, 5000))[1]
|
||||
compTotal += tri_et_compte(tri_insertion,
|
||||
liste_alea(n, -5000, 5000))[1]
|
||||
return compTotal / m
|
||||
|
||||
question(2)
|
||||
|
|
Reference in a new issue