Etant donnés xet yles deux lettres dont le nombre d’occurences est le plus faible dans w,
on considère l’alphabet Σ0= Σ − {x, y}+zoù zest une nouvelle lettre à laquelle on associe
f(z) = f(x) + f(y).
5) Soit T0l’arbre d’un codage optimal pour Σ0, montrer que l’arbre Tobtenu à partir de T0en
remplaçant la feuille associée à zpar un nœud interne ayant xet ycomme feuilles représente un
codage optimal pour Σ.
6) En déduire un algorithme recherchant un codage optimal et donner sa complexité.
3 Plus long sous-mot commun
On fixe un alphabet Σ. Soient deux mots u, v ∈Σ∗qui sécrivent u=a1. . . amet v=b1. . . bn
avec ai, bj∈Σ. On dit que uest sous-mot de vsi m≤n, et s’il existe une suite 1≤α1< α2<
. . . < αm≤ntelle que bαi=ai.
Concevoir un algorithme qui trouve la longueur du plus long sous-mot commun à deux mots
donnés. Adapter votre algorithme pour produire ce sous-mot.
4 Tables de hachage
Une table de hachage de taille mest utilisée pour contenir nobjets, avec n=m
2. L’adressage
ouvert est utilisé pour résoudre les problèmes de collision.
1. En supposant le hachage uniforme, montrer que pour i= 1,2, ..n, la probabilité que la ième
insertion nécessite strictement plus de ksondages est au plus de 2−k.
2. Montrer que pour i= 1,2, ..., n, la probabilité que la ième insertion nécessite plus de 2logn
sondages est au plus de 1
n2.
3. On utilise la variable aléatoire Xipour représenter le nombre de sondages requis pour la
ième insertion. On utilise la variable aléatoire X=max1≤i≤nXipour représenter le nombre
maximum de sondages que nécessite n’importe laquelle des ninsertions.
Montrer que P(X > 2logn)≤1
n.
4. Montrer que la longueur moyenne E[X]de la plus longue séquence de sondages est en
O(log(n)).
2