From 85fbaa4d9381e435be129aa7bc4ea6a472acb2b2 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sun, 5 Oct 2025 16:28:33 +0200 Subject: Cours du 29 au 3 octobre --- "semestre 3/structures des donn\303\251es/td/td3/exo1.md" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 "semestre 3/structures des donn\303\251es/td/td3/exo1.md" (limited to 'semestre 3/structures des données/td/td3/exo1.md') diff --git "a/semestre 3/structures des donn\303\251es/td/td3/exo1.md" "b/semestre 3/structures des donn\303\251es/td/td3/exo1.md" new file mode 100644 index 0000000..7aba849 --- /dev/null +++ "b/semestre 3/structures des donn\303\251es/td/td3/exo1.md" @@ -0,0 +1,14 @@ +Une hashmap semble pertinente, car on a une association clé/valeur. + +La fonction de hachage devra donc renvoyé sur [0, 100 000-1], i.e. être modulo 100 000. + +Elle provoque beaucoup de collisions, notamment si au moins une valeur est à 0. +Pour régler ce problème, on pourrait utiliser +```c +int g(int x1, int x2, int x3, int x4, int x5, int x6) { + return (x1+1)*(x2+1)*(x3+1)*(x4+1)*(x5+1)*(x6+1) % 100000; +} +``` + +La fonction ne prend pas en compte l'ordre des valeurs. + -- cgit v1.2.3