• Aucun résultat trouvé

Structure de donn´ees

N/A
N/A
Protected

Academic year: 2022

Partager "Structure de donn´ees"

Copied!
11
0
0

Texte intégral

(1)

Structure de donn´ees

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 19

tri C : mˆeme algorithme que tri A mais on utilise java.util.TreeSet pour implanter IN

Temps de calcul (mesuré sur PowerMac 1.25GHz, 1G RAM)

0 50 100 150 200 250 300 350 400

0 5000 10000 15000 20000 25000

Taille

Temps (msec)

triB triC

(2)

Structure de donn´ees 2

Pourquoi tri B et tri C ont essentiellement le mˆeme comportement ?

Parce que TreeSet.first() et TreeSet.remove() s’ex´ecutent en temps de f(n) + c · lg(n) avec c > 0 et f(n) lg(n).

(Arbre binaire balanc´e : on verra dans ce cours comment le faire )

(3)

Notation asymptotique

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 21

«Croissance essentielle» d’une fonction :

3n2 − 2n + 1 est de la mˆeme croissance essentielle que 12n2 + 3 lgn D´ef. f(n) ∈ O

g(n)

si et seulement si il existe N ∈ N et c R+ t.q. pour tout n ≥ N,

f(n) ≤ c · g(n).

Noter : on ´ecrit souvent f(n) = O

g(n)

mais en v´erit´e O(g(n)) est un ensemble de fonctions.

(4)

Exemples. . .

2n + 1 — lin´eaire

3n2 + lgn — quadratique 2n + n — exponentiel

4 · 2n et 7 · 3n 4nlog7 n + n 3 · (log5 n)2

Notez que 2n + 3 ∈ O(0.0001n + log7 n − √

n) est correct par notre d´efinition.

En g´en´eral, on choisit la fonction «la plus simple» dans les parenth`eses de O(·) [ou o,Ω,Θ]

⇒ dans des devoirs, exercices, etc, seulement la forme la plus simple vaut 100% de cr´edit.

(5)

Notation asymptotique 2

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 23

D´ef. f(n) ∈ Ω

g(n)

si et seulement si g(n) ∈ O

f(n)

.

D´ef. f(n) ∈ Θ

g(n)

si et seulement si f(n) ∈ O

g(n)

∩ Ω

g(n)

.

D´ef. f(n) ∈ o

g(n)

si et seulement si pour tout c ∈ R+ il existe N(c) N t.q. pour tout n ≥ N(c),

f(n) ≤ c · g(n)

(6)

Notation asymptotique 3

Thm. f(n) ∈ o(g(n)) ssi

f(n) ∈ O(g(n)) \ Θ(g(n)) = O(g(n)) \ Ω(g(n)).

Thm. f(n) ∈ o(g(n)) ssi

n→∞lim

f(n)

g(n) = 0.

Thm. S’il existe c ∈ R+ t.q.

n→∞lim

f(n)

g(n) = c, alors f(n) ∈ Θ(g(n)).

(7)

Notation asymptotique 4

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 25

Thm Si f1(n) ∈ O(g1(n)) et f2(n) ∈ O(g2(n)), alors f1(n) + f2(n) ∈ O

g1(n) + g2(n)

f1(n) · f2(n) ∈ O

g1(n) · g2(n)

.

Thm Si f(n) ∈ O(g(n)) alors f(n) + g(n) ∈ O(g(n)). Thm lnn ∈ o(n) pour tout > 0

(8)

Analyse de temps

public static int somme_cubes(int n){

int somme=0;

for (int i=1; i<n; i++) somme += i*i*i;

return i;

}

R`egle 1. Temps de calcul pour boucle : nombre d’ex´ecutions * temps d’ex´ecution.

n · O(1) = O(n)

(9)

Analyse de temps 2

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 27

...

for(int i=0; i<n; i++)

for (int j=0; j<n; j++) k+= i*j;

...

R`egle 1bis. Boucles imbriqu´es.

(10)

Analyse de temps 3

R`egle 2. Etapes cons´ecutives.´ R`egle 3. if/else

(11)

Analyse de temps 4

Introduction ? IFT2010 H2006 ? UdeM ? Mikl´os Cs˝ur¨os 29

Thm Temps de calcul pour tri A est O(n2) et pour tri B est de O(n logn)

Références

Documents relatifs

J’observe toutefois (Figure 13.3) ` a la fin du mod` ele la formation d’une seconde paire de zones cisaillantes du cˆ ot´ e retro du mod` ele, ce qui laisse penser que la

b - Le fichier ruban-3 initial final.csv contient la longueur de la trajectoire suivie par la pro- cession au d´ ebut (lorsque la tˆ ete atteint le point d’arriv´ e) et ` a la fin de

[r]

Ecrire en Java la gestion d’un tas, repr´esent´e par un tableau : cr´eer, ins´erer, minimum, supprimer (le minimum), modifier une valeur.. Vous programmerez ceci en TP, et

On fixe une cat´ egorie C et on prend comme objets les couples (R, M ) d’une monade R sur C et d’un R-module M. Que peut-on prendre comme morphismes pour faire une cat´

Perdre ses photos de vacances : ¸ca n’a pas de

Programme des enseignements – Syst` emes d’information et conception d’entrepˆ ots de donn´ ees – Les principes et la d´ emarche du Data Mining (fouille de donn´ ees)

Objectifs : Maˆıtriser les structures de base de l’informatique (tableaux, listes, files, piles) et les op´ erations ´ el´ ementaires sur ces structures et introduction au