0% ont trouvé ce document utile (0 vote)
24 vues2 pages

Complexité des Algorithmes en Informatique

Transféré par

wiam.filali1962
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues2 pages

Complexité des Algorithmes en Informatique

Transféré par

wiam.filali1962
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

USTHB - Faculté d’électronique & d’informatique - Département d’informatique

Module ALGO Av. &Complexité – M1-BioInfo Année 2021-2022

Série 1 - Complexité des algorithmes

Exercice 1
Déterminer la complexité des algorithmes suivants (par rapport au nombre d’itérations
effectuées), où m et n sont deux entiers positifs.

Algorithme A
Algorithme B
i 1;j 1 i 1;j 1
Tant que (i m) et (j n) faire Tant que (i m) ou (j n) faire
i i+1 i i+1
j j+1 j j+1
fait ; fait ;

Algorithme C
i 1;j 1 Algorithme D
i 1;j 1
Tant que (j n) faire
Tant que (j n) faire
si i m
si i m
alors
alors
i i+1 i i+1
sinon sinon
j j+1 j j+1 ; i 1
fsi ; fsi ;
fait ; fait ;

Exercice 2

On considère deux matrices d’entiers A(n,m) et B(m,p).


Ecrire l’algorithme qui calcule le produit des deux matrices A et B dans une matrice C(n, p).
Evaluer la complexité de l’algorithme

Exercice 3
Ecrire l’algorithme de recherche dichotomique d’une valeur dans un vecteur trié de taille n et
calculer sa complexité.

Exercice 4 : Fusion de deux tableaux triés


On dispose de deux tableaux T1[1..n] et T2[1..n] dont les éléments sont triés de façon croissante. On
veut créer un tableau trié T3[1..2n] contenant tous les éléments de T1 et T2. Pour cela on propose
deux algorithmes Fusion_A et Fusion_B.
Fusion_A : initialise T3 avec T1 (déjà trié) et y insère un à un les éléments de T2 de façon à ce que
l’ordre soit respecté.

1 S. BOUKHEDOUMA
Fusion_B : remplit T3 en parcourant simultanément T1 et T2 du début jusqu’à leur fin. Soit i1 et i2 les
indices courant dans T1 et T2, on a 3 cas possible :
Si T1[i1]<T2[i2] alors mettre T1[i1] à la fin de T3 et avancer dans T1
Si T1[i1]>T2[i2] alors mettre T2[i2] à la fin de T3 et avancer dans T2
Sinon mettre T1[i1] puis T2[i2] à la fin de T3 et avancer dans T1 et T2

1. Ecrire les deux algorithmes et déroulez sur l’exemple :


T1= 1 3 5 et T2 = 2 3 4

2. Donnez la complexité, au pire des cas, des algorithmes en fonction de la taille des
données.

3. Quel algorithme choisissez-vous d’implémenter ?

Exercice 5
Etant donné un tableau de n entiers, on cherche à savoir si l’un de ses éléments est égal à la
somme des n-1 autres éléments.
Exemple A= 3 8 -6 3 -1 9

Le 2ème élément de valeur 8 est égal à la somme des 5 autres.


a- Une première méthode consiste pour chaque élément du tableau à calculer la somme
des autres éléments et à vérifier si elle est égale à l’élément. Ecrivez cet algorithme.
Donnez sa complexité.
b- On peut améliorer, au sens de la complexité, l’algorithme précédent. Ecrivez ce
deuxième algorithme et donnez sa complexité.

Exercices supplémentaires

Exercice 6
Soit une liste chainée L de nombres réels et soit x un nombre réel donné.
1. Ecrire une action paramétrée Somme_2 qui vérifie s’il existe deux éléments de T dont
la somme est égale à x. Donner sa complexité en justifiant votre réponse.
On suppose maintenant que la liste est triée dans l’ordre croissant.
Ecrire une action paramétrée Somme_2bis qui résout la question n°1 avec une meilleure
complexité. Justifiez votre réponse.

Exercice 7

Ecrire une action paramétrée qui décompose un nombre entier positif en binaire dans une liste
chainée d’entiers. Calculez la complexité de l’algorithme.

2 S. BOUKHEDOUMA

Vous aimerez peut-être aussi