From 99d678cd372e301d6e9fc233870a8a134bf2e1b9 Mon Sep 17 00:00:00 2001
From: Simon Lecocq <simon.lecocq2.etu@univ-lille.fr>
Date: Thu, 13 Feb 2025 09:56:16 +0100
Subject: [PATCH] Upload New File

---
 tp_2_miso_dict.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 tp_2_miso_dict.py

diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py
new file mode 100644
index 0000000..98d2a0c
--- /dev/null
+++ b/tp_2_miso_dict.py
@@ -0,0 +1,59 @@
+import matplotlib.pyplot as plt
+import numpy as np
+import time
+import sys
+
+
+
+###### PARTIE 2 ######
+
+def experiment_load_factor(load_factors):
+	"""
+	Étude du facteur de charge
+	"""
+	return [],[],[]
+
+def experiment_longest():
+	"""
+	TODO: que fait cette fonction
+	"""
+	d = {}
+	insertion_times = []
+
+	for i in range(10000):
+		key = str(i)
+		value = i
+		start_time = time.time()
+		d[key] = value
+		insertion_time = time.time() - start_time
+		insertion_times.append(insertion_time)
+	frequencies = np.histogram(insertion_times)[0]
+	return frequencies
+
+def visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies):
+	"""
+	Visualisation des résultats
+	"""
+	# Temps d'insertion en fonction du facteur de charge
+
+	# Nombre de réallocations de mémoire en fonction du facteur de charge
+	
+	# Taille de mémoire occupée en fonction du nombre d'éléments
+	
+	# Deuxième étude
+	f = list()
+	plt.figure(figsize=(10, 6))
+	plt.bar(range(len(f)), f)
+	plt.xlabel('Temps d\'insertion (s)')
+	plt.ylabel('Fréquence')
+	plt.title('Histogramme des fréquences des temps d\'insertions')
+	plt.yscale('log')
+	xticks = np.logspace(-6, 1, 3)  
+	xtick_labels = [f'{x:.1e}' for x in xticks]  
+	plt.xticks(xticks, xtick_labels)    
+	plt.savefig('histogramme.png')
+
+load_factors = [0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
+insertion_times, num_resizes, sizes = experiment_load_factor(load_factors)
+frequencies = experiment_longest()
+visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies)
-- 
GitLab