• Aucun résultat trouvé

Informatique Th´ eorique

N/A
N/A
Protected

Academic year: 2022

Partager "Informatique Th´ eorique"

Copied!
3
0
0

Texte intégral

(1)

DUT Info 22006/2007 Lundi 19 Mars 2007

Informatique Th´ eorique

TP6 : Complexit´ e et algorithmes de classe P

I Exercice 1 : Complexit´e 1. Prouver que n2+n=O(n2).

2. Donner l’ordre de grandeur des expressions suivantes : (a) n2+3n+1n+1

(b) nlog(n)+nn+12+log(n)2

3. Si f(n) est une fonction enO(n), les affirmations suivantes sont-elles vraies ? (a) (f(n))2 =O(n2)

(b) 2f(n) =O(2n) I Exercice 2 : Complexit´e

Ecrire un algorithme qui calcule, pour un tableau T de taille n donn´e en pa- ram`etre, la somme :

n

X

i,j=1

(T(i)−T(j))2

1. Ecrire l’algorithme ”na¨ıf” quadratique qui vient en premier `a l’esprit.

2. Est-il possible de lin´eariser cet algorithme ? I Exercice 3 : Complexit´e

D´eterminer un algorithme qui teste si un tableau de taille n est un ”tableau de permutation” (i.e. tous les ´el´ements sont distincts et compris entre 1 etn).

1. Donner un premier algorithme na¨ıf qui soit quadratique.

2. Donner un second algorithme lin´eaire utilisant un tableau auxiliaire.

I Exercice 4 : Ordres de complexit´e

Soient 2 programmes A et B qui utilisent 2 algorithmes diff´erents pour r´esoudre le mˆeme probl`eme, `a savoir trier une liste de N objets.

Le programme A a besoin d’un temps t= 10000∗N pour trier la liste.

Le programme B a besoin d’un temps t = 2∗N2 pour trier la mˆeme liste.

1. Quel programme est plus rapide pour trier une liste de 5 objets ?

2. Quel est la longueur critique Nc telle que pour toutN > Nc, le programme A est plus rapide que le B ?

3. Comparer les performances des programmes A et B avec un troisi`eme pro- gramme C qui trie la liste en un temps t = 10 + 0.5∗N3.

1

(2)

I Exercice 5 : Tri `a bulle

Soient n nombres rang´es dans un tableau A[1..n]. Calculer la complexit´e de l’algorithme suivant, dit tri par ´echange ou tri `a bulle, qui remet les ´el´ements deA dans l’ordre croissant de leur valeur :

I Exercice 6 : Complexit´e

Ecrire un algorithme pour calculer pn, qui soit de complexit´e O(log2(n)).

Indication : Consid´erer n ´ecrit en binaire.

I Exercice 7 : Tri fusion

Trouver la complexit´e de l’algorithme du tri fusion qui utilise les fonctions fusion et split ci-dessous.

On supposera que la taille de la liste est une puissance enti`ere de 2, soitn = 2k. I Exercice 8 : Parcours en profondeur

Soit un graphe G= (S, A). Montrer que la proc´edure du parcours en profondeur surG appartient `a la classe P.

PP(G)

pour chaque sommetu de V(G) faire couleur[u]← blanc

π(u) =vide

pour chaque sommetu de V(G) faire si couleur[u] = blanc

alors VISITER PP(u) VISITER PP(u)

couleur[u]← gris

pour chaque v adjacent `a u faire si couleur[v] = blanc

alors π[v]←u

VISITER PP(v) couleur[v]← noir

2

(3)

3

Références

Documents relatifs

Donner le domaine de d´ erivation sur I de

[r]

[r]

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

Le rectangle ABCD repr´ esente le panneau publicitaire et r´ epond aux contraintes suivantes : le point A est situ´ e ` a l’origine du rep` ere, le point B est sur l’axe des

Donner l’ensemble de définition de la fonction

Comme l’ensemble des diviseurs d’un entier est fini, le diviseur Q considéré est dans un ensemble fini de polynomes d’interpolation basés sur 0 et 1 et de valeurs tous les couples

On pousse tous les bits d'un cran (ou de plusieurs si on remplace 1 par n) vers la droite (on perd donc des données de ce côté), on complète par des zéros sur la gauche. On obtient