exercice suivant

Adressage associatif par transformation de clés (Hash-code)

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.

Solution

exercice suivant

Site Hosting: Bronco