• Aucun résultat trouvé

Algorithmes et Structures de Données Mardi 13 Novembre 2012

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes et Structures de Données Mardi 13 Novembre 2012"

Copied!
1
0
0

Texte intégral

(1)

GM3 Nathalie Chaignaud

Algorithmes et Structures de Données Mardi 13 Novembre 2012

Durée 1H30 – Cours et TD NON autorisés 1. Pile - Tri rapide (quicksort) - 6 pts

t : 6   3   0   9   1   7   8   2   5   4

Simuler la pile sur l’appel tri-rapide(t,1,10) (cf résumé de cours) en donnant aussi les valeurs intermédiaires de t après l’appel de partionner.

2. Calcul d’une fraction continue - 6 pts

On suppose donnés n+1 nombres entiers strictement positifs a0, a1, ..., an dans un tableau a (a[i] = ai, i = 0...n). On souhaite calculer la valeur du nombre :

1

x = a0 + __________________________

1

a1 + __________________

1

a2 + ____________

1 ... + __

an

2.1 - Ecrivez une fonction itérative qui calcule la valeur de ce nombre.

2.2 - Ecrivez une fonction récursive qui calcule la valeur de ce nombre.

3. Recherche de facteurs - 8 pts

On dispose de n chaînes de caractères (toutes de même longueur lg) qui résultent d’un

« découpage » (avec chevauchement) d’une chaîne initiale (voir exemple, où lg = 9 et n = 4). On suppose que le chevauchement est de longueur fixe k (ici k = 3). On souhaite reconstituer la chaîne initiale à partir des n chaînes (version très simplifiée d’un des problèmes de séquencement de l’ADN).

Exemple :

C A T T G A C T A C T A C C T A T G A C G T G A C A T A G G C T A A C G

A G G C T A A C G T G A C A T T G A C T A C C T A T G

On fait l’hypothèse très simplificatrice qu’il n’y a qu’une solution au problème, c’est-à-dire qu’il n’y a qu’un moyen d’agencer les n sous-chaînes avec un recouvrement de longueur k.

3.1. Expliquer en français le principe pour résoudre ce problème en terme de préfixe et de suffixe (de longueur k) d’une chaine de caractères.

3.2. Quelle structure de donnée faut-il pour représenter les n chaines de caractères avec leur place dans la chaîne initiale ? La décrire en pseudo-langage.

3.3. On dispose des fonctions préfixe(c,k) et suffixe(c,k) qui permettent de manipuler les préfixes et les suffixes (de longueur k) d’une chaîne c. Ecrire en pseudo-langage une procédure qui, étant données n chaînes de longueur lg et le recouvrement k, donne l’ordre dans lequel il faut placer les n sous-chaînes pour reconstituer la chaîne initiale. Les sorties de cette procédure sont donc la structure de donnée remplie décrite en 3.2., ainsi que la chaîne reconstituée (solution du problème).

3.4. Quelle est la complexité (O(?)) de cet algorithme ? Expliquer.

Références

Documents relatifs

Expliquer en français comment effectuer la traduction d’un message (message et message codé sont enregistrés dans 2 fichiers texte) de façon optimale. La clé et la table sont

numl pointe sur la ligne non vide suivante suivl (les lignes sont classées selon les numéros de lignes croissants) et sur son premier élément non nul suivc ; les éléments

On veut écrire une fonction qui transforme ce tableau en une liste chainée l triée dans l’ordre croissant dont les valeurs sont uniques (on ne garde qu’une seule occurrence

On dispose de la procédure dessiner-carré(x,y,c : entier) qui dessine le carré de centre x,y et de demi- côté

Ecrire en pseudo-code une procédure qui initialise la liste des appellations d’une région donnée à partir d’un fichier texte contenant les appellations des vins triés dans

Une méthode répond au critère de composabilité modulaire si elle favorise la production d’éléments de logiciels qui peuvent être combinés librement les uns avec les autres

- le programme se compose de plusieurs fichiers source et la variable doit être utilisée dans un autre fichier que celui dans lequel elle est définie. extern

l Même si vous pouvez écrire une solution itérative au problème, considérer la recherche dichotomique récursive du dictionnaire :?.