# -*- coding: utf-8 -*-

def courbes_performances2(l_min,l_max,raison):
    import random as r
    import time
    import matplotlib.pyplot as plt

    # on cree une liste géométrique des tailles d'entrees que l'on veut tester
    ln=list()
    n=l_min
    while n<=l_max:
        ln.append(n)
        n=n*raison

    # on cree pour chaque fonction a tester, une liste des durees obtenues
    durees_selection=list()
    durees_insertion=list()

    # on execute les tests pour chaque taille d'entrees
    for n in ln:
        # on definit les valeurs min et max contenues dans les entrees
        v_min=0
        # pour limiter le nombre de repetition d'une meme valeur,
        # on prend prend v_max nettement plus grand que la taille de l'entree
        v_max=n*10
        L=liste_aleatoire(n,v_min, v_max)

        # la methode copy retourne une copie superficielle de la liste L
        L1=L.copy()
        t1 = time.perf_counter()
        tri_selection(L1)
        t2 = time.perf_counter()
        durees_selection.append((t2-t1))

        L2=L.copy()
        t1 = time.perf_counter()
        tri_insertion(L2)
        t2 = time.perf_counter()
        durees_insertion.append(t2-t1)

    plt.plot(ln ,durees_selection,label="Tri Selection")
    plt.plot(ln ,durees_insertion, label="Tri Insertion")
    plt.legend()
    plt.show()

