|
Université
de la Polynésie Française |
Partiel
Algo et programmation C Deug MIAS 2 Année
2001-02 Mardi 6
Novembre |
1.Vous disposez de une heure et quarante cinq minutes,
2.vos documents personnels sont autorisés,
3.vos algorithmes seront commentés,
4.le barème est donné à titre indicatif et est susceptible d'être modifié,
Algorithmique
Le tri (en copie) d’une liste par la méthode de sélection consiste à rechercher systématiquement l’élément le plus petit de la liste à trier, le mettre en fin de la liste triée, le supprimer de la liste à trier et recommencer l’opération autant de fois que nécessaire. C’est ce tri que nous souhaitons programmer.
Remarque : Il est inutile de réécrire les deux premiers algorithmes, il suffit de dire à quel moment vous utilisez l’un ou l’autre.
L’une des méthodes les plus utilisée pour effectuer des recherches rapides dans des listes triées, de tailles importantes mais ne subissant que peu de modifications est l’indexation. Cette technique consiste à fabriquer une liste de repères sur la liste afin, lors d’une recherche, de pouvoir sauter très rapidement au début de la zone de recherche et restreindre ainsi la recherche effective à une petite partie de la liste.
Exemple 1 : un dictionnaire de mots triés dans l’ordre alphabétique serait muni d’une liste d’index donnant la position du premier mot commençant par A, la position du premier mot commençant par B, … La recherche d’un mot (par exemple Informatique) ne se ferait alors plus par une recherche sur l’ensemble du dictionnaire mais simplement entre la position de début des mots en I et la position de début des mots en J.
Exemple 2 : La liste triée d’entiers
4 ; 12 ; 34 ; 44 ; 46 ; 52 ; 55 ; 59 ; 74 ; 88 ; 125 ; 148
se verrait dotée, pour une fréquence de 10, d’une liste d’index
se verrait dotée, pour une fréquence de 5, d’une liste d’index
Cet algorithme sera simple et pourra faire appel au divisions entières ou être plus rusé …
L’algorithme rendra la place de l’élément si celui-ci appartient à la liste ou sa place d’insertion dans la liste triée si il n’appartient pas.