• Aucun résultat trouvé

Analyser la complexit´e de cet algorithme

N/A
N/A
Protected

Academic year: 2022

Partager "Analyser la complexit´e de cet algorithme"

Copied!
1
0
0

Texte intégral

(1)

BCPST Complexit´es d’algorithmes 2014-2015

Les 3 premiers exercices se feront sans ordinateur.

Exercice 1 :

Dans cet exercice, L d´esigne une liste tri´ee de nombres et a un nombre.

(1) a. ´Ecrire un algorithme na¨ıf qui prend en arguments L et a et renvoie un indice i tel que L[i] =a.

b. Analyser la complexit´e de cet algorithme.

(2) a. ´Ecrire un algorithme plus rapide.

b. Analyser la complexit´e de celui-ci.

Exercice 2 :

On se donne l’algorithme suivant : def f o n c t i o n ( x , n ) :

f o r i in range( n ) : print( x ∗∗ i )

(1) Expliquer ce que fait cet algorithme.

(2) Quel est la complexit´e de celui-ci ?

(3) Donner un algorithme qui fera le mˆeme affichage avec une complexit´e de l’ordre de n op´erations.

(4) Modifier cet algorithme pour afficher seulement x∗ ∗n.

(5) Existe-t-il un algorithme permettant de faire le mˆeme affichage plus rapidement ? Exercice 3 :

(1) Analyser les complexit´es des algorithmes d’op´erations sur les matrices. (on sup- posera que toutes les matrices sont carr´ees de taillesn×n)

(2) Analyser les complexit´es des algorithmes d’op´erations sur les polynˆomes. (On supposera que tous les polynˆomes sont de taille n)

Exercice 4 :

Un probl`eme classique en informatique consiste `a rechercher, non pas une seule valeur, mais une s´equence de valeurs dans un tableau. Cela revient `a chercher une occurrence d’un tableau dans un autre ou, pour les chaˆınes de caract`eres, une occurrence d’un mot dans un texte.

On souhaite ´ecrire une fonction recherche mot qui, ´etant donn´es deux tableaux m et t, d´etermine la position de la premi`ere occurrence de m dans t, si elle existe, et renvoie non sinon. Ainsi, pour les tableauxm = [1,2,3] ett= [2,1,4,1,2,6,1,2,3,7], recherche mot renvoie 6 :

[2, 1, 3, 1, 2, 6, 1, 2, 3, 7].

(1) ´Ecrire (sur papier) un algorithme r´epondant `a ce probl`eme.

(2) Analyser la complexit´e de cet algorithme.

(3) Impl´ementer cet algorithme en Python.

(4) ´Evaluer le temps d’ex´ecution de cet algorithme avec diff´erentes listes. Est-ce coh´erent avec la complexit´e th´eorique ?

Références

Documents relatifs

Ainsi, dans la premi`ere partie on d´emontre que, ´etant donn´e un revˆetement ramifi´e le long d’une courbe irr´eductible C 2 r de degr´e 2r, les droites sauteuses d’ordre

Il faut pour cela trouver o` u l’´ el´ ement doit ˆ etre ins´ er´ e en le comparant aux autres, puis d´ ecaler les ´ el´ ements afin de pouvoir effectuer l’insertion. On

´etant donn´e un graphe (G, A) on peut d´efinir un ensemble de variables propositionnelles et un ensemble de clauses compos´ees de ces vari- ables tels que (G, A) est k coloriable si

La premi`ere n’autorisera pas un consommateur ` a lire une nouvelle donn´ee tant que la derni`ere donn´ee lue n’aura pas ´et´e vue par tous les consommateurs (le dernier

´ Etant donn´ e que la m´ ethode du point fixe donn´ ee est la m´ ethode de Newton et que la racine m de f est simple, la m´ ethode converge ` a

Ecrire le d´ ´ efinition d’une fonction r´ ecursive qui renvoie vrai/f aux selon qu’une valeur donn´ ee se trouve ou non dans un tableau

On retrouve des r´esultats assez similaires a ceux de [8] qui eux aussi mettent en ´evidence la pr´esence d’un coude dans la premi`ere composante du m´elange (coude non obtenu

Dans la premi`ere partie, on d´emontre qu’´etant donn´e π une s´erie discr`ete d’un groupe classique, la projection d’un pseudo coefficient (cuspidal) de π sur la partie