• Aucun résultat trouvé

On applique les cours

N/A
N/A
Protected

Academic year: 2022

Partager "On applique les cours"

Copied!
2
0
0

Texte intégral

(1)

Algorithmique — M1

Examen du 18 juin 2009

Université Paris Diderot

Documents autorisés : Deux feuilles de papier format A4 Durée : 3h

On applique les cours

Exercice 1Multiplication

En utilisant l’algorithme de Karatsuba-Offman multipliez 2 nombres binaires : 10011011 et 10111010.

Exercice 2Récurrence Étant donné que

T (n) = 8T (bn/2c) + n 3 + 3

trouvez le comportement asymptotique de T (n). Justifiez votre réponse.

Exercice 3Les mariages

5 enseignants (A,B,C,D,E) doivent enseigner 5 cours (I,J,K,L,M). Il faut avoir un enseignant pour chaque cours et un cours pour chaque enseignant. Les compétences des enseignants sont représentées par un tableau suivant :

I J K L M

A X X X

B X X X

C X X

D X X

E X X

Pour affecter les cours aux enseignants : 1. choisissez un algorithme de cours ;

2. appliquez l’algorithme (écrivez/dessinez toutes ses étapes) ; 3. donnez le résultat final : quel enseignant fait quel cours.

1

(2)

On invente des algorithmes

Exercice 4Méthode imposée

On cherche le maximum d’un tableau de B de n éléments.

1. Écrivez un algorithme de type diviser-pour-régner qui résout ce problème.

2. Analysez sa complexité.

Exercice 5Un mauvais algorithme

Étant donné un graphe non-orienté G = (V, E) (de N sommets) représenté par une matrice d’adjacence M[i, j] (de taille N × N) et un entier M on cherche une clique de C sommets. Dans cet exercice il faut trouver un algorithme retour-arrière qui résout ce problème. On va appeler une solution partielle un tableau d’entiers [i 1 , . . . , i k ] dans l’ordre croissant tel que les sommets [v i

1

, . . . , v i

k

] forment une clique.

1. Écrivez une fonction booléenne test(B, k, M, N) qui teste est-ce que le tableau B[k] est une solution partielle pour un graphe représenté par un tableau (matrice d’adjacence) M[N, N].

2. Comment trouver une solution partielle de taille 0 ? Comment à partir d’une solution partielle de taille k passer à ses extensions de taille k + 1 ? Comment dire est-ce qu’on a déjà trouvé la clique de taille C ?

3. Écrivez un algorithme retour-arrière de recherche de clique.

4. Estimez la complexité de votre algorithme.

Exercice 6La somme

Dans un tableau d’entiers B on cherche un sous-ensemble de B qui a la somme S donnée. Par exemple pour B = [3, 4, 5, 11] et S = 16 il y a une solution 16 = 11 + 5. Pour le même B et pour S = 10 il n’y a pas de solution.

Le problème algorithmique à résoudre dans cet exercice est le suivant : étant donné B = p 1 , p 2 , . . . , p m (trié) et S répondre (VRAI ou FAUX) est-ce que B a une partie de somme S. On utilisera la programmation dynamique pour concevoir un algorithme qui résolve ce problème.

1. Soit P(i, j) un booléen qui est vrai ssi on peut obtenir j comme somme d’une partie de i premiers éléments de tableau : p 1 , . . . , p i Écrivez les équations de récurrence pour cette fonction sans oublier les cas de base.

2. Écrivez un algorithme efficace (récursif avec “marquage” ou itératif) pour calculer P.

3. Analysez la complexité de votre algorithme.

4. Appliquez votre algorithme à l’exemple ci-dessus (B = [3, 4, 5, 11] et S = 9).

2

Références

Documents relatifs

L’étude du signe d’une fonction s’inscrit dans cette optique : à l’aide du signe de ax + b, nous allons être capable de déterminer le signe de la plupart des

— On recherche dans cet article, les fonctions booléennes dont le type est caractérisé par le graphe des distances (graphe construit à partir de la fonction booléenne

ParSih [10] a défini pour tout corps topologique F et tout entier m ^ 0 un groupe K^F) : c'est le complété séparé de K^(F) pour la topologie de groupe la plus fine rendant continu

D'une façon générale nous désignerons par J^ le 2-groupe des classes au sens restreint du corps de nombres L. Soit a un entier sans facteur carré positif. Pour énoncer le

[r]

Une expression littérale est comme une formule dans laquelle il y a une ou plusieurs lettres représentant un ou

Exercice 2 Une entreprise fabrique chaque mois x tonnes d’un certain produit, avec x appartenant à l’intervalle ]0 ; 6].. À l’aide de la

[r]