diff --git a/Readme.md b/Readme.md index 347c31ae5a516ce1e37abcaafc266e75c5a43da7..858cbc646bfa626ea707276db58131a90a05984a 100644 --- a/Readme.md +++ b/Readme.md @@ -37,7 +37,7 @@ le temps d'insertion et la taille de la mémoire occupée. Vous pourrez utiliser Fonction `experiment_load_factor`: -0. La fonction `experiment_load_factor` doit être définie pour prendre en entrée une liste de facteurs de charge (`load_factors`) et renvoyer les temps +0. La fonction `experiment_load_factor` doit être définie pour prendre en entrée une liste de facteurs de charge (`load_factors`) et renvoyer les temps : - d'insertion de clefs, - les nombres de réallocations de mémoire (quand le dictionnaire est ré-écrit en mémoire pour agrandir sa taille) - et les tailles de mémoire occupées par le dictionnaire pour chaque facteur de charge. diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py index cf5948dfc104b6394deb1edf7fbb5d14c48eeb55..a2b08cd5f21b424f9cf965f706c5fc2f187829da 100644 --- a/tp_2_miso_dict.py +++ b/tp_2_miso_dict.py @@ -4,15 +4,32 @@ import time import sys - ###### PARTIE 2 ###### +def mean (liste : list) -> float : + """ + """ + taille = len(liste) + return sum(liste)/taille + def experiment_load_factor(load_factors): """ Étude du facteur de charge """ - return [],[],[] + insertion_times=[] + set_kmer = {str(i) for i in range(10)} + for factors in load_factors : + d = {} + times = [] + for kmer in set_kmer: + start_time = time.time() + d[kmer] = 0 + stop_time = time.time() + times.append(stop_time-start_time) + insertion_times.append(mean(times)) + + return insertion_times, def experiment_longest(): """ TODO: que fait cette fonction