Le programme de démonstration de la recherche permet de visualiser le comportement de la recherche séquentielle ou dichotomique dans une liste contigue, ainsi que la gestion d'un tas. Les paramètres donnés dans l'applet ont la signification suivante:

- nombre: le nombre de valeurs à mettre dans la liste,

- delai: le délai d'attente entre deux pas de l'animation,

- hauteurAnimation: la hauteur de la fenêtre d'animation,

- largeurAnimation: la largeur de la fenêtre d'animation,

Ces valeurs ont des contraintes de visibilité. Les valeurs fournies en dehors de ces contraintes sont corrigées en conséquence.

L'activation de "Recherche.html" (par exemple en utilisant "Applet viewer") ouvre une première fenêtre qui visualise le contenu de la liste d'entiers dans laquelle se fera la recherche ou la gestion du tas. Des boutons permettent de changer le nombre d'éléments de la liste (par pas de 10 ou par pas de 1), de générer une liste ordonnée, de générer une liste aléatoirement et de lancer la recherche ou la gestion du tas. Si la liste est ordonnée la recherche sera dichotomique, sinon elle sera séquentielle.

Le démarrage d'une recherche ouvre une nouvelle fenêtre et lance la recherche de valeurs aléatoires dans une copie de la liste définie dans la fenêtre générale. Plusieurs boutons et un ascenceur permettent de contrôler le déroulement de la recherche. L'ascenceur permet de contrôler la vitesse d'exécution de la recherche. Les quatres boutons permettent :

1 Arrêter définitivement la recherche, et supprimer la fenêtre.

2 Suspendre la recherche en l'état, ou la reprendre après une suspension,

3 Exécuter la recherche une étape à la fois, (i.e. la recherche complète d'un élément), ou l'exécuter en continu,

4 Un pas n'agit que sur une recherche suspendue, et exécute soit un pas de recherche si elle est dans l'état suspendue, soit une étape.

Les éléments de la liste sont représentés par une barre verticale de longueur proportionnelle à leur valeur. Normalement ces barres sont de couleur rouge, sauf lorsqu'ils sont sélectionnés dans l'algorithme pour une action particulière.

Un pas élémentaire de recherche est une comparaison entre deux éléments. Les éléments dans une comparaison sont affichés en vert.

Dans la recherche dichotomique, deux éléments jouent un rôle particulier: ils délimitent l'espace de recherche courant. Ils sont alors affichés en bleu.

Le démarrage d'une gestion du tas ouvre une nouvelle fenêtre et lance la mise en ordre du tas initial sur une copie de la liste définie dans la fenêtre générale. Plusieurs boutons et un ascenceur permettent de contrôler le déroulement des opérations. L'ascenceur permet de contrôler la vitesse d'exécution. Comme pour la recherche, les quatres boutons du bas permettent :

1 Arrêter définitivement l'animation, et supprimer la fenêtre.

2 Suspendre l'animation en l'état, ou la reprendre après une suspension,

3 Exécuter la mise en ordre du tas une étape à la fois, ou l'exécuter en continu,

4 Un pas n'agit que sur une animation suspendue, et exécute soit un pas d'opération si elle est dans l'état suspendue, soit une étape.

Les quatre boutons du haut permettent:

1 Changer une valeur dans la liste. La position et la nouvelle valeur ayant été saisies préalablement dans les zones correspondantes. Si la position fait partie du tas, celui-ci est ensuite corrigé.

2 Forcer la fin du tas à la position saisie préalablement dans la zone correspondante. Le tas est ensuite réordonné.

3 Ajouter au tas une valeur particulière, saisie préalablement dans la zone correspondante.

4 Supprimer la valeur la plus petite du tas.

Le contenu de la liste est affiché avec la présentation simultanée de l'arbre binaire parfait correspondant au tas, et la liste elle-même. Les valeurs des éléments sont affichés dans les noeuds. Les couleurs sont atténuées pour permettre une meilleure lecture. Les noeuds sont normalement en rose. Ceux qui interviennent dans une comparaison sont en vert. Enfin celui où est appliqué l'opération ordonner est en magenta. Un trait vertical bleu délimite le tas dans la liste. Cette limite peut être changée par le bouton Forcer. Enfin, quelques indices, en dessous de la liste, facilitent le repérage des positions.

Note: Les fichiers " .class " de la recherche sont supposés soit dans le répertoire Commun_Demonstration soit dans le répertoire Demonstration_Recherche eux-mêmes contenus dans le même répertoire que Recherche.html, ou être accessibles par la variable CLASSPATH.