Question posée au contrôle continu du 14 juin 1999
Soit une fonction H qui retourne les valeurs numériques suivantes pour les mots suivants:
mot: | du | esprit | etait | forte | illumination | jour | la | lumiere | qu | si | son | soudaine | traversa | une |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
H(mot): | 6 | 13 | 3 | 12 | 9 | 10 | 7 | 15 | 5 | 6 | 5 | 8 | 10 | 2 |
On décide de placer ces mots dans un tableau de 15 positions (indices 1..15) par la méthode de l'adresse ouvert, en utilisant l'expression suivante pour traiter les collisions:
Hi(K) = [(H(K) + i*length(K)) mod 15] + 1, où i représente le nombre de collisions déjà subies lors de l'insertion de K (i = 0 au début) et length(K) est la fonction qui retourne le nombre de caractères d'un mot.
N.B.: Au cas où on essaye de placer un nouveau mot dans une position occupée par un mot ayant lui-même été déplacé, on donnera la priorité au nouveau mot.
Dessinez le tableau résultant de l'insertion des mots énumérés ci-dessus en les prenant dans l'ordre où ils sont écrits.
Site Hosting: Bronco