Title: Cours dAlgorithmique
1Cours dAlgorithmique
- Marc Gengler
- Marc.Gengler_at_esil.univ-mrs.fr
Alexandra Bac - Henry Kanoui - Alain Samuel
24h de cours 24h de TD des devoirs un projet et
un examen
2Les grandes lignes du cours
- Trier et chercher
- Listes et arbres
- Le back-track
- Arbres équilibrés
- Récursivité et induction sur la structure
- Divide and conquer
- Minimax
- Dérécursion
- Divers problèmes particuliers
- Logique de Hoare
- Programmation dynamique
- Complexité et calculabilité
3Bibliographie
- Tout ce qui contient
- algorithmes, algorithms.
- Internet
- souvent, cest très (trop) simplifié,
- et pas toujours correct.
4Bibliographie
- Tout ce qui contient
- algorithmes, algorithms.
- Internet
- souvent, cest très (trop) simplifié,
- et pas toujours correct.
- Mes choix
- Introduction to Algorithms, Leiserson et al.
- Algorithms, Sedgewick.
- Fundamental Algorithms, Knuth.
- des anciens cours -)
5Bibliographie
- Tout ce qui contient
- algorithmes, algorithms.
- Internet
- souvent, cest très (trop) simplifié,
- et pas toujours correct.
- Dautres choix
- Introduction à lalgorithmique, Leiserson et al.
- chez Dunod.
- Initiation à lalgorithmique et aux structures de
données, Courtin et Kowarski.
6L O R I G I N E D U M O T A
L G O R I T H M E
7Al Khwarizmi
- Célèbre mathématicien à Bagdad,
- vers 780-850.
8Al Khwarizmi
- Célèbre mathématicien à Bagdad,
- vers 780-850.
- Kitâb al-jabr wa al-muqâbala . Livre sur la
science de la transposition et de la réduction
résolution systématique de léquation du second
degré. - Traduit en latin au 12e siècle par Gherardo di
Cremona sous le titre Dixit Algorismi .
9Al Khwarizmi
- Célèbre mathématicien à Bagdad,
- vers 780-850.
- Kitâb al-jabr wa al-muqâbala . Livre sur la
science de la transposition et de la réduction
résolution systématique de léquation du second
degré. - Traduit en latin au 12e siècle par Gherardo di
Cremona sous le titre Dixit Algorismi . - Aussi Kitâb al Jami wa al Tafriq bi Hisab al
Hind . Livre de l'addition et de la soustraction
d'après le calcul des indiens. - http //trucsmaths.free.fr/alkhwarizmi.htm
- http//publimath.irem.univ-mrs.fr/glossaire/AL016.
htm
10Al Khwarizmi
X2 8 x 33
2 X
X2
11Al Khwarizmi
16 X2 8 X 33 16
( X 4 )2 72
4
2 X
X2
12D I V E R S A L G O R I T H M E
S D E T R I
13Les tris sur tableaux----------------------------
-------------------------------------
Les hypothèses
- Tableau dentrées 0 à n-1.
- Entiers naturels, mais nimporte quel ensemble
ordonné peut convenir. - Les répétitions sont possibles.
Le but
- Ordonner le tableau par valeurs non décroissantes.
14Les tris sur tableaux----------------------------
-------------------------------------
Les hypothèses
- Tableau dentrées 0 à n-1.
- Entiers naturels, mais nimporte quel ensemble
ordonné peut convenir. - Les répétitions sont possibles.
Le but
Nous trions pour accélérer les recherches !
- Ordonner le tableau par valeurs non décroissantes.
15Les tris sur tableaux----------------------------
-------------------------------------
Quelle relation dordre ?
- En général, lordre est imposé par le monde
extérieur. - Je peux trier des personnes
- daprès lâge,
- daprès le poids,
- daprès la taille,
- daprès lordre lexicographique des patronymes,
- . . .
16Les tris sur tableaux----------------------------
-------------------------------------
Situation initiale
Valeurs
n-1
0 1 2 3
17Les tris sur tableaux----------------------------
-------------------------------------
Situation initiale
Valeurs
Pas de relation entre les indices et les valeurs !
n-1
0 1 2 3
18Les tris sur tableaux----------------------------
-------------------------------------
Situation finale
Valeurs
n-1
0 1 2 3
19Les tris sur tableaux----------------------------
-------------------------------------
Situation finale
Valeurs
Une relation claire entre les indices et les
valeurs !
n-1
0 1 2 3
20Les tris sur tableaux----------------------------
-------------------------------------
Les tris que nous regardons en cours
- Tri par échanges.
- Tri par insertions.
- Tri bulles.
- Tri par fusion.
Dautres tris en TD.
21T R I P A R E C H A N G E S
22Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- situation intermédiaire
Valeurs
Non triées et plus grandes
Triées
n-1
i-1
0 1 2 3
23Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange - suite
Les hypothèses
- Les entrées de 0 à i-1 sont triées.
- Elles sont plus petites que les entrées
suivantes. - Les entrées à partir de lindice i ne sont pas
triées.
24Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange - suite
Les hypothèses
- Les entrées de 0 à i-1 sont triées.
- Elles sont plus petites que les entrées
suivantes. - Les entrées à partir de lindice i ne sont pas
triées.
A faire pour mettre en place lentrée i
- Chercher lindice j du minimum à partir de i.
- Echanger les éléments i et j.
25Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- situation intermédiaire
Valeurs
Non triées et plus grandes
Triées
lt- échange -gt
n-1
j
0 1 2 3
i
26Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- situation intermédiaire
Valeurs
Non triées et plus grandes
Triées
n-1
j
0 1 2 3
i
27Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- propriété invariante
- Nous avions une certaine situation sur
lintervalle 0 .. i-1 - les éléments jusquà i-1 sont triés,
- ceux qui suivent sont plus grands, mais pas
triés.
28Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- propriété invariante
- Nous avions une certaine situation sur
lintervalle 0 .. i-1 - les éléments jusquà i-1 sont triés,
- ceux qui suivent sont plus grands, mais pas
triés. - Nous retrouvons la même situation sur
lintervalle 0 .. i - les éléments jusquà i sont triés,
- ceux qui suivent sont plus grands, mais pas
triés.
29Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- propriété invariante
- Nous avions une certaine situation sur
lintervalle 0 .. i-1 - les éléments jusquà i-1 sont triés,
- ceux qui suivent sont plus grands, mais pas
triés. - Nous retrouvons la même situation sur
lintervalle 0 .. i - les éléments jusquà i sont triés,
- ceux qui suivent sont plus grands, mais pas
triés. - Cette propriété est donc invariante avec i, on
lappelle
un invariant
30Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- le code
for ( i0 iltn-1 i ) ind_min i
for ( ji1 jltn j ) if ( tj lt
tind_min ) ind_min j aux
ti ti tind_min tind_min
aux
31Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- le code
Fini si i n-1 !
for ( i0 iltn-1 i ) ind_min i
for ( ji1 jltn j ) if ( tj lt
tind_min ) ind_min j aux
ti ti tind_min tind_min
aux
32Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- le code
Fini si i n-1 !
for ( i0 iltn-1 i ) ind_min i
for ( ji1 jltn j ) if ( tj lt
tind_min ) ind_min j aux
ti ti tind_min tind_min
aux
En effet, il nous reste une seule valeur qui est
plus grande que les valeurs précédentes !
33Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- le code
for ( i0 iltn-1 i ) ind_min i
for ( ji1 jltn j ) if ( tj lt
tind_min ) ind_min j aux
ti ti tind_min tind_min
aux
Chercher lindice du plus petit.
34Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- le code
for ( i0 iltn-1 i ) ind_min i
for ( ji1 jltn j ) if ( tj lt
tind_min ) ind_min j aux
ti ti tind_min tind_min
aux
Echange, même si i ind_min.
35Les tris sur tableaux----------------------------
-------------------------------------
Tri par échange --- la complexité
- Ont fait n-1 fois, pour i de 0 à n-2
- Un parcours de i..n-1.
- Il y a donc un nombre de lectures qui vaut
S (n-i) 0 (n2) i0..n-2
Tri en complexité quadratique.
36T R I P A R I N S E R T I O N
37Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
Valeurs
Non triées et quelconques
Triées
n-1
i-1
0 1 2 3
38Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion - suite
Les hypothèses
- Les entrées de 0 à i-1 sont triées.
- Elles sont plus petites que les entrées
suivantes. - Les entrées à partir de lindice i ne sont pas
triées.
////////////////////////////////////////////
39Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion - suite
Les hypothèses
- Les entrées de 0 à i-1 sont triées.
- Elles sont plus petites que les entrées
suivantes. - Les entrées à partir de lindice i ne sont pas
triées.
////////////////////////////////////////////
A faire pour mettre en place lentrée i
- Si elle est plus grande que les précédentes
RIEN ! - Si elle est plus petite que certaines précédentes
linsérer plus à gauche en décalant dautres
entrées.
40Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
Valeurs
Non triées et quelconques
Plus grande Rien à faire !
Triées
n-1
i-1
0 1 2 3
41Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
Valeurs
Non triées et quelconques
Plus grande Rien à faire !
Triées
n-1
i-1
0 1 2 3
42Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
Valeurs
Non triées et quelconques
Triées
n-1
i-1
0 1 2 3
Plus petit Linsérer à gauche.
43Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
Valeurs
Non triées et quelconques
Triées
n-1
i
0 1 2 3
Plus petit Linsérer à gauche.
44Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
- Vous avez vu quil y a à nouveau un INVARIANT ?
- Lequel est-ce ??????????????????
45Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- situation intermédiaire
- Vous avez vu quil y a à nouveau un INVARIANT ?
- Lequel est-ce ??????????????????
- Les éléments déjà traités sont triés,
- les autres sont dans le désordre et sans rapport
particulier (ni plus grands, ni plus petits) aux
premiers.
46Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- le code
for ( i1 iltn i ) cont 1 j
i while ( jgt0 cont ) if (
tj lt tj-1 ) echange(t, j-1,
j) else cont 0
j--
47Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- le code
Pour tous, sauf le premier qui est forcément à sa
place
for ( i1 iltn i ) cont 1 j
i while ( jgt0 cont ) if (
tj lt tj-1 ) echange(t, j-1,
j) else cont 0
j--
48Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- le code
for ( i1 iltn i ) cont 1 j
i while ( jgt0 cont ) if (
tj lt tj-1 ) echange(t, j-1,
j) else cont 0
j--
On échange aussi longtemps que le prédécesseur
existe et quil est plus grand que lélément en
question.
49Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- le code
for ( i1 iltn i ) cont 1 j
i while ( jgt0 cont ) if (
tj lt tj-1 ) echange(t, j-1,
j) else cont 0
j--
On arrête les échanges dès que le prédécesseur
est au plus aussi grand que lélément en question.
50Les tris sur tableaux----------------------------
-------------------------------------
Tri par insertion --- la complexité
- Ont fait n-1 fois, pour i de 1 à n-1
- Jusquà i échanges au maximum (peut-être moins).
- Le nombre déchanges peut donc atteindre
S i 0 (n2) i1..n-1
Tri en complexité quadratique.
51T R I P A R B U L L E S
52Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle
Valeurs
Situation anormale Une bulle
Situation normale
n-1
0 1 2 3
53Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle on échange lordre dans la bulle
Valeurs
La bulle a disparu par échange
Situation normale
n-1
0 1 2 3
54Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - principe des algorithmes
Lidée
- Tant quil y a des bulles,
- on en choisit une et on la fait monter.
55Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle évolution des bulles
Valeurs
n-1
0 1 2 3
56Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - principe des algorithmes
Lidée
- Tant quil y a des bulles,
- on en choisit une et on la fait monter.
De nombreuses optimisations
- Suivre une bulle et la faire monter aussi haut
que possible. - Si au dernier passage la première bulle était (
i , i1 ) , il ne peut y avoir de bulle avant (
i-1 , i ) au passage courant.
57Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle évolution des bulles
Valeurs
Régions qui peuvent être ignorées lors du
prochain passage.
n-1
0 1 2 3
58Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - principe des algorithmes
Lidée
- Tant quil y a des bulles,
- on en choisit une et on la fait monter.
De nombreuses optimisations
- Suivre une bulle et la faire monter aussi haut
que possible. - Si au dernier passage la première bulle était (
i , i1 ) , il ne peut y avoir de bulle avant (
i-1 , i ) au passage courant. - Faire alternativement monter et descendre des
bulles. - et puis dautres trucs !
59Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - complexité
- Le tri bulle a une complexité quadratique, car il
existe des instances pour lesquels il faut 0
(n2) échanges.
60Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - complexité
- Le tri bulle a une complexité quadratique, car il
existe des instances pour lesquels il faut 0
(n2) échanges. - Par contre, pour de nombreuses instances, le
nombre des échanges est bien plus petit.
61Les tris sur tableaux----------------------------
-------------------------------------
Tri bulle - complexité
- Le tri bulle a une complexité quadratique, car il
existe des instances pour lesquels il faut 0
(n2) échanges. - Par contre, pour de nombreuses instances, le
nombre des échanges est bien plus petit. - Le tri bulle est bien adapté, comme dautres
tris, pour rétablir lordre dans un tableau
presque trié (léger désordre produit par quelques
insertions déléments par exemple).
62D I F F E R E N T E S N O T I O N
S D E C O M P L E X I T E
63Les tris sur tableaux----------------------------
-------------------------------------
Différentes notions de complexité
- Complexité du meilleur cas
- inintéressante, car ce nest pas le cas typique.
64Les tris sur tableaux----------------------------
-------------------------------------
Différentes notions de complexité
- Complexité du meilleur cas
- inintéressante, car ce nest pas le cas typique.
- Complexité du cas moyen
- intéressante, mais difficile à établir,
- est-ce que mes instances du problème sont dans la
moyenne ?
65Les tris sur tableaux----------------------------
-------------------------------------
Différentes notions de complexité
- Complexité du meilleur cas
- inintéressante, car ce nest pas le cas typique.
- Complexité du cas moyen
- intéressante, mais difficile à établir,
- est-ce que mes instances du problème sont dans la
moyenne ? - Complexité du pire cas
- donne une limite supérieure pour le nombre
dopérations, - celle-ci peut être atypique,
- souvent assez facile à calculer,
- mais, cest la COMPLEXITE utilisée PAR DEFAUT.
66T R I P A R F U S I O N
67Les tris sur tableaux----------------------------
-------------------------------------
Principe du tri par fusion
- Couper le tableau en deux (mentalement et de
façon non violente), - trier récursivement chaque partie
- et fusionner les deux parties triées (cf. cours
dIntroduction à la programmation).
68Les tris sur tableaux----------------------------
-------------------------------------
Principe du tri par fusion
69Les tris sur tableaux----------------------------
-------------------------------------
Principe du tri par fusion
Tri récursif des deux moitiés.
70Les tris sur tableaux----------------------------
-------------------------------------
Principe du tri par fusion
Tri récursif des deux moitiés.
Fusion des deux suites.
71Les tris sur tableaux----------------------------
-------------------------------------
Complexité du tri par fusion
- Soit f(n) la fonction de complexité pour trier
n éléments. - Le découpage se fait en temps constant ou 0( n
), sil y a copie. - Les deux appels récursifs nécessitent 2 f( n/2
). - La fusion se fait en 0( n ).
72Les tris sur tableaux----------------------------
-------------------------------------
Complexité du tri par fusion
- Soit f(n) la fonction de complexité pour trier
n éléments. - Le découpage se fait en temps constant ou 0( n
), sil y a copie. - Les deux appels récursifs nécessitent 2 f( n/2
). - La fusion se fait en 0( n ).
- Donc f(n) 0(n) 2 f(n/2)
- 0(n) 2 ( 0(n/2) 2
f(n/4) ) - 2 0(n) 22 f(n/22)
- 3 0(n) 23
f(n/(23)) - k O(n) 2k
f(n/(2k)) - 0(n log n) 2(log n)
f(n/(2(log n))) - 0(n log n) car
f(n/(2(log n))) f(1) 0
Tri en complexité n log n.
73R E C H E R C H E D A N S D E
S T A B L E A U X T R I E S
74Recherche dans des tableaux triés----------------
-------------------------------------------------
- On utilise lordre pour
- anticiper labandon dans une recherche linéaire,
- guider la recherche recherche par dichotomie.
n-1
(n-1)/2
0
petit
moyen
grand
X lt moyen
X
75Recherche dans des tableaux triés----------------
-------------------------------------------------
- On utilise lordre pour
- anticiper labandon dans une recherche linéaire,
- guider la recherche recherche par dichotomie.
n-1
(n-1)/2
0
petit
moyen
grand
X lt moyen
Oui ! Chercher X dans 0 .. (n-1)/2- 1
X
76Recherche dans des tableaux triés----------------
-------------------------------------------------
- On utilise lordre pour
- anticiper labandon dans une recherche linéaire,
- guider la recherche recherche par dichotomie.
n-1
(n-1)/2
0
petit
moyen
grand
X lt moyen
Non ! Chercher X dans (n-1)/2 .. n-1
Oui ! Chercher X dans 0 .. (n-1)/2- 1
X
77Recherche dans des tableaux triés----------------
-------------------------------------------------
Recherche par dichotomie - complexité
- 1 test -gt n/2 éléments.
- 2 tests -gt n/4 éléments.
- 0( log n) tests -gt 1 élément.
- Est-ce bien lui ? Donc un test en plus.
- Il existe des arguments théoriques (théorie de
linformation) qui montrent que lon ne peut pas
faire mieux.
78Recherche dans des tableaux triés----------------
-------------------------------------------------
d 0 f n-1 While ( d lt f ) if ( d
f-1 ) if ( x td ) f d
else d f else m
(df)/2 if ( x lt tm )
f m-1 else d m
Return ( x td )
Initialisation.
Intervalle de 2 éléments.
Cas général.
Résultat.
79Recherche dans des tableaux triés----------------
-------------------------------------------------
Di-chotomie - Tri-chotomie - etc.
- Di-chotomie
- 1 test -gt 2 intervalles de n/2 éléments.
- Donc, 1 log_2 (n) 1 tests.
80Recherche dans des tableaux triés----------------
-------------------------------------------------
Di-chotomie - Tri-chotomie - etc.
- Di-chotomie
- 1 test -gt 2 intervalles de n/2 éléments.
- Donc, 1 log_2 (n) 1 tests.
- Tri-chotomie
- 2 tests -gt 3 intervalles de n/3 éléments.
- Donc, 2 log_3(n) 1 tests.
81Recherche dans des tableaux triés----------------
-------------------------------------------------
Di-chotomie - Tri-chotomie - etc.
- Di-chotomie
- 1 test -gt 2 intervalles de n/2 éléments.
- Donc, 1 log_2 (n) 1 tests.
- Tri-chotomie
- 2 tests -gt 3 intervalles de n/3 éléments.
- Donc, 2 log_3(n) 1 tests.
- K-chotomie
- k-1 tests -gt k intervalles de n/k éléments.
- Donc, (k-1) log_k(n) 1 tests.
82Recherche dans des tableaux triés----------------
-------------------------------------------------
Di-chotomie - Tri-chotomie - etc.
- Di-chotomie
- 1 test -gt 2 intervalles de n/2 éléments.
- Donc, 1 log_2 (n) 1 tests.
- Tri-chotomie
- 2 tests -gt 3 intervalles de n/3 éléments.
- Donc, 2 log_3(n) 1 tests.
- K-chotomie
- k-1 tests -gt k intervalles de n/k éléments.
- Donc, (k-1) log_k(n) 1 tests.
Optimal si k 2 ! ! !
83Soyons critiques !-------------------------------
----------------------------------
- Tableau trié
- Recherche efficace ?
- Insertions et suppressions pénibles ?
84Soyons critiques !-------------------------------
----------------------------------
- Tableau trié
- Recherche efficace ?
- Insertions et suppressions pénibles ?
- Liste triée
- Insertions et suppressions efficaces ?
- Recherche pénible ?
85Soyons critiques !-------------------------------
----------------------------------
- Tableau trié
- Recherche efficace ?
- Insertions et suppressions pénibles ?
- Liste triée
- Insertions et suppressions efficaces ?
- Recherche pénible ?
- Hashage sur tableaux arbres de recherche
équilibrés - Toutes les opérations sont efficaces ? ?
86 H A S H A G E
87Hashage------------------------------------------
-----------------------
H Eléments à stocker
Indices dun tableau
INSEE(Marc Gengler)
1.61.01
Attention, certaines cases du tableau
contiennent des valeurs alors que dautres sont
vides.
1.61.01
MG
88Hashage------------------------------------------
-----------------------
89Hashage------------------------------------------
-----------------------
Une seule valeur par entrée du tableau ! ! !
90Hashage------------------------------------------
-----------------------
Une seule valeur par entrée du tableau ! ! !
91Hashage------------------------------------------
-----------------------
- Résolution locale des collisions
- Petite recherche séquentielle dans une liste
chainée. - Prendre la première case libre en séquence dans
le tableau. - Et si on peut supprimer des éléments ????? Des
éléments qui étaient responsables dune collision
viennent à disparaître !
92Hashage------------------------------------------
-----------------------
- Résolution locale des collisions
- Petite recherche séquentielle dans une liste
chainée. - Prendre la première case libre en séquence dans
le tableau. - Et si on peut supprimer des éléments ????? Des
éléments qui étaient responsables dune collision
viennent à disparaître ! - Re-hashage
- Si H(x) est déjà occupé on calcule H(x) ou
H(xe), etc. jusquà trouver une place. - Et si on peut supprimer des éléments ?????
93Hashage------------------------------------------
-----------------------
- Résolution locale des collisions
- Petite recherche séquentielle dans une liste
chainée. - Prendre la première case libre en séquence dans
le tableau. - Et si on peut supprimer des éléments ????? Des
éléments qui étaient responsables dune collision
viennent à disparaître ! - Re-hashage
- Si H(x) est déjà occupé on calcule H(x) ou
H(xe), etc. jusquà trouver une place. - Et si on peut supprimer des éléments ?????
La solution la plus fréquente chainage des
collisions !
94Hashage------------------------------------------
-----------------------
X
X
/
95Hashage------------------------------------------
-----------------------
X
X
Y
/
Y
96Hashage------------------------------------------
-----------------------
- Faits
- La fonction de hashage doit être uniforme
pour des choix au hasard de données d , les
indices H( d ) doivent être répartis le plus
uniformément possible. - A ce moment, le taux de remplissage donne la
proportion des collisions.
97Hashage------------------------------------------
-----------------------
- Faits
- La fonction de hashage doit être uniforme
pour des choix au hasard de données d , les
indices H( d ) doivent être répartis le plus
uniformément possible. - A ce moment, le taux de remplissage donne la
proportion des collisions. - Coût
- Coût du calcul de H multiplié par le nombre
moyen de collisions (re-hashage). - Coût du calcul de H plus le coût de la
recherche dans la liste chainée.
98Synthèse-----------------------------------------
------------------------
- Quelques tris sur tableaux.
- Recherche dans un tableau trié.
- Limites des tableaux et des listes triés.
- Hashage comme solution alternative.
- A venir dautres alternatives comme les
- arbres de recherche équilibrés.
99m E r C i e T b O n N e J o U r N é E !
! ! n O u B l I e Z p A s D e p R é P a
R e R v O s T D ! ! !