Afin de manipuler correctement les deques il est demandé de programmer les différentes fonctions vues en TD dans l'exos sur les TODO listes.
Ecrire les fonctions de base de cette structure de données.
Nous avions énoncé quelques contraintes:
Il faut donc se servir des fonctions définies au 1) pour écrire
def ajout(toDoListe,action, priorite): '''cette fonction ajoute l'action dans la toDoListe au bon endroit selon la priorite (0 ou 1)'''
def done(toDoListe,choix): ''' cette fonction permet de retirer une action de la toDoListe, soit systématiquement la première de la liste (choix=0), soit de choisir entre entre les deux premières (choix=1). Il faut alors afficher les actions et demander à l'utilisateur de choisir. Une fois son choix fait il doit dire si il veut mettre l'action qu'il ne choisit pas à sa place (au début de la liste) ou si vraiment il ne veut la faire rapidement et veut la mettre à la fin. Il faut bien sûr effectuer cette opération.
def verif(toDoListe): ''' cette fonction permet d'aller voir la dernière action stockée et de la remettre après'''
faire un petit programme qui permet de vérifier toutes ces fonctions.
Tri par Paquets (vu en TD7) Principe:soit une liste de nombres réels on va créer une liste de n listes (autant que de données dans la liste initiale , découpant l'intervalle des données en n intervalles) et répartir ces données dans les petites listes(paquets). On prendra ensuite un algorithme de tri à bulle pour trier chaque paquet puis les concaténer.
Il faut donc deux fonctions
def tri_bulle(T):
def tri_par_paquet(T):
On veut comparer les temps d'exécution des deux tris. Pour cela, ajoutez
import time
et utiliser
t=time.time()
Pour générer la liste utiliser np.random.randn() et ajouter
import numpy as np
Programmer la fonction Fibonnaci de manière récursive et de manière itérative