Skip to content
Snippets Groups Projects
Commit e6baa742 authored by Ayât Chergui's avatar Ayât Chergui
Browse files

fini

parent 368f0ddc
Branches
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ import matplotlib.pyplot as plt
import numpy as np
import time
import sys
import math
#test modif du push après peripétie
......@@ -15,24 +16,30 @@ def experiment_load_factor(load_factors): #= load_factor = liste de facteur de c
num_resizes = []
sizes = []
for i in load_factors:
dict = {}
for i in load_factors:
dico = {}
num_elements= 0 #nombre d'élement dans table
num_resize = 0 #taille dico
last_size = sys.getsizeof(dict) #taile dico après insertion
start_time = time.time() # tps avant insertion
last_size = sys.getsizeof(dico) #taile dico après insertion
insertion_per_factor = []
while num_elements < load_factors: #remplie table tant que taille attendue par facteur de charge pas atteint
dict[num_elements]=num_elements
num_elements =+ 1
last_size = sys.getsizeof(dict)
num_resize =+ 1 #on ajoute 1 élement donc 1 position en +
end_time = time.time() #temps fin insertion
insertion_times.append(end_time - start_time) #temps totale
while num_elements < (i*100): #remplie table tant que taille attendue par facteur de charge pas atteint
start_time = time.perf_counter()
dico[num_elements]=num_elements
end_time = time.perf_counter()
insertion_per_factor.append(end_time - start_time) #temps totale
num_elements += 1
current_size = sys.getsizeof(dico)
if current_size > last_size:
last_size = current_size
num_resize += 1 #on ajoute 1 élement donc 1 position en +
insertion_times.append(np.mean(insertion_per_factor))
sizes.append(last_size) #on ajoute la nouvelle taille dans la liste
num_resizes.append(num_resize) #nouvelle table
print(insertion_times)
return insertion_times, num_resizes, sizes
def experiment_longest():
"""
......@@ -59,13 +66,31 @@ def visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies
Visualisation des résultats
"""
# Temps d'insertion en fonction du facteur de charge
plt.figure(figsize=(10, 6))
plt.bar(load_factors, insertion_times, width=0.01, label="insertion_time", color='blue')
plt.xlabel('load factor')
plt.ylabel('Temps d\'inserstion')
plt.title('Histogramme du temps des insertions en fonction des facteurs de charge')
plt.savefig('histogramme 7A')
# Nombre de réallocations de mémoire en fonction du facteur de charge
plt.figure(figsize=(10,6))
plt.bar(load_factors, num_resizes, width=0.05, label = "num_resize", color='green')
plt.xlabel('load factor')
plt.ylabel('num resize')
plt.title('Histogramme du nombre de reallocations de mémoire en fonction du facteur de charge')
plt.savefig('Histogramme 7B')
# Taille de mémoire occupée en fonction du nombre d'éléments
plt.figure(figsize=(10,6))
plt.bar(sizes, num_resizes, width=100, color='red', label="Nombre de réallocations") # Augmente width si valeurs élevées
plt.xlabel('size')
plt.ylabel('num_resizes')
plt.title('Histogramme de la taille de mémoire occupé en fonction du nombre d\'élements')
plt.savefig('Histogramme 7C')
# Deuxième étude
f = list()
f = list(frequencies)
plt.figure(figsize=(10, 6))
plt.bar(range(len(f)), f)
plt.xlabel('Temps d\'insertion (s)')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment