Graphique un peu plus beau
This commit is contained in:
parent
07ad4f2f6f
commit
a365b4321f
|
@ -24,7 +24,7 @@ parser = argparse.ArgumentParser(
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--brut', action='store_true', help="afficher les données brutes")
|
'--brut', action='store_true', help="afficher les données brutes")
|
||||||
parser.add_argument(
|
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(
|
parser.add_argument(
|
||||||
'--graph', action='store_true', help="voir les données sous forme de graphique")
|
'--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")
|
parser.add_argument('-m', type=int, default=100, help="Changer la valeur de m")
|
||||||
|
@ -55,18 +55,24 @@ if args.poly:
|
||||||
# Affichage
|
# Affichage
|
||||||
from matplotlib import pyplot
|
from matplotlib import pyplot
|
||||||
if args.graph:
|
if args.graph:
|
||||||
pyplot.plot(xData, yData, 'x')
|
pyplot.plot(xData, yData, 'x', label="Données brutes")
|
||||||
if args.poly:
|
if args.poly:
|
||||||
if args.poly:
|
if args.poly:
|
||||||
def f(x):
|
def f(x):
|
||||||
"""
|
"""
|
||||||
float → float
|
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
|
CU : polynome est défini
|
||||||
"""
|
"""
|
||||||
somme = 0
|
y = 0
|
||||||
for d in range(len(polynome)):
|
for d in range(len(polynome)):
|
||||||
somme += polynome[d] * x**(len(polynome) - 1 - d)
|
y += polynome[d] * x ** (len(polynome) - 1 - d)
|
||||||
return somme
|
return y
|
||||||
pyplot.plot(xData, [f(x) for x in xData], '-')
|
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()
|
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
|
# fonctions et questions, mais pour la facilité de la correction nous avons préféré qu'il en soit
|
||||||
# ainsi.
|
# ainsi.
|
||||||
|
|
||||||
|
|
||||||
def partie(nom):
|
def partie(nom):
|
||||||
"""
|
"""
|
||||||
str → ∅
|
str → ∅
|
||||||
|
@ -60,6 +61,7 @@ def question(numero):
|
||||||
if affichage:
|
if affichage:
|
||||||
print('\n***', 'Question', numero, '***')
|
print('\n***', 'Question', numero, '***')
|
||||||
|
|
||||||
|
|
||||||
def reponse(texte):
|
def reponse(texte):
|
||||||
"""
|
"""
|
||||||
str → ∅
|
str → ∅
|
||||||
|
@ -260,7 +262,8 @@ if affichage:
|
||||||
for nb in range(1, 101):
|
for nb in range(1, 101):
|
||||||
tableau.append([nb,
|
tableau.append([nb,
|
||||||
tri_et_compte(tri_selection, liste_croissante(nb))[1],
|
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]])
|
tri_et_compte(tri_selection, liste_decroissante(nb))[1]])
|
||||||
afficher_tableau(tableau)
|
afficher_tableau(tableau)
|
||||||
|
|
||||||
|
@ -275,7 +278,8 @@ if affichage:
|
||||||
for nb in range(1, 101):
|
for nb in range(1, 101):
|
||||||
tableau.append([nb,
|
tableau.append([nb,
|
||||||
tri_et_compte(tri_insertion, liste_croissante(nb))[1],
|
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]])
|
tri_et_compte(tri_insertion, liste_decroissante(nb))[1]])
|
||||||
afficher_tableau(tableau)
|
afficher_tableau(tableau)
|
||||||
|
|
||||||
|
@ -339,6 +343,7 @@ est {t2}.\nLes nombres de comparaisons pour ces deux tris sont {res}.".format(t1
|
||||||
|
|
||||||
question(1)
|
question(1)
|
||||||
|
|
||||||
|
|
||||||
def nbre_moyen_tri_insertion(m, n):
|
def nbre_moyen_tri_insertion(m, n):
|
||||||
"""
|
"""
|
||||||
int, int → float
|
int, int → float
|
||||||
|
@ -348,7 +353,8 @@ def nbre_moyen_tri_insertion(m, n):
|
||||||
"""
|
"""
|
||||||
compTotal = 0
|
compTotal = 0
|
||||||
for _ in range(m):
|
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
|
return compTotal / m
|
||||||
|
|
||||||
question(2)
|
question(2)
|
||||||
|
|
Reference in a new issue