Revision

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 19

Notation Standard et fonctions classiques

Analyse des algorithmes (introduction)

IFT 436 - Algorithmes et structures de données


Premiers pas

Rachid Kadouche

Université de Sherbrooke

8 mai 2009

1
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Fonctions élémentaires

Constante : y = 1
Logarithmique : y = logb x
Polylogarithmique : y = (logb x)c
Linéaire : y = mx + b
Linéarithmique : y = x logb x
Polynomiale : y = di=0 ai ni
P

Exponentielle : y = c n = c × c × · · · × c
Factorielle : y = n! = ni=1 i = 1 × 2 × · · · × (n − 1) × n
Q

2
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Propriétés

Définition : Pour a > 0 et a 6= 1

loga N = b ⇔ ab = N

logb (ac) = logb (a) + logb (c) a0 = 1


logb (a/c) = logb (a) − logb (c) a1 = a
−logb (a) = logb (1/a) a−1 = 1/a
logb ac = clogb a (am )n = amn
logc a
logb a = (am )n = (an )m
logc b
logc a
b = alogc b am an = am+n

3
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Notations

lg n = log2 n (logarithme binaire)


log n = log2 n (logarithme binaire)
ln n = loge (logarithme naturel)
lg k n = (log n)k (exponentiation)
lg lg n = lg (lg n) (composition)
lg n + k = (lg n) + k

4
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Définitions

e = lim (1 + x)1/x ≈ 2.71828


x→0
1 1 1
e =1+ + + + ···
1! 2! 3!

x2 x3 X xi
ex = 1 + x + + + ··· =
2! 3! i=0
i!
x2 x3 x4
ln(1 + x) = x − + − + ···
2! 3! 4!

5
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

La fonction factoriel

La fonction factoriel
n
Y
n! = 1 · 2 · 3 · · · (n − 1) · n = i
i=1

Par définition : 0! = 1

Approximation de Stirling
√ nn
n! ≈ 2πn
en

6
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Parties entières

partie entière de x : bxc = le plus grand entier inférieur ou


égale à x
partie entière supérieure de x : dxe = le plus petit entier
supérieur ou égale à x
x − 1 < bxc ≤ x ≤ dxe < x + 1
Pour n entier : b n2 c + d n2 e = n

7
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Parties entières

partie entière de x : bxc = le plus grand entier inférieur ou


égale à x
partie entière supérieure de x : dxe = le plus petit entier
supérieur ou égale à x
x − 1 < bxc ≤ x ≤ dxe < x + 1
Pour n entier : b n2 c + d n2 e = n
L’opérateur modulo : Pour a ≥ 0 et b > 0
jak
a mod n = a − n
n

8
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Formules et propriétés des sommations


n
X n(n + 1)
i=
2
i=1
Xn n
X
(i + 1) = n + i
i=1 i=1
n
X n(n + 1)
i= −1
2
i=2
n
X n
X
(i + 1) = n + i −2
i=2 i=1
n
X n(n + 1)(2n + 1)
i2 =
6
i=1

9
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Séries

n
X x n+1 − 1
xi = (pour un réel x 6= 1)
x −1
i=0

X 1
xi = (si |x| < 1)
1−x
i=0

X x
i · xi = (si |x| < 1)
(1 − x)2
i=0
n
X 1
Série harmonique : Hn = ≈ ln n
i
i=1

10
Type de fonction
Notation Standard et fonctions classiques Logarithmes et exponentielle
Analyse des algorithmes (introduction) Fonctions et relation entières
Les sommes

Bornes des sommations

n
X
i ≤ n2
i=0
n
X
ai ≤ (n + 1)amax
i=0
n
X 1 ai+1
ai ≤ a0 (avec ≤ r pour tous i ≥ 0 et 0 < r < 1)
1−r ai
i=0

P∞ i P∞ 1
Trouver un majorant pour : i=1 3i puis i=1 i

11
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Analyse des algorithmes(introduction)

12
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Définition

Informellement, la complexité d’un algorithme est une fonction


exprimant le nombre d’opérations nécessaires en fonction de la
taille des données à traiter.

13
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Architecture RAM (Random-Access Machine)


Modèle abstrait d’un processeur qui exécute une instruction à la
fois et d’une mémoire principale qui contient le programme et les
données.
Exécution séquentielle des instructions, pas d’instruction
concurrente (exécution parallèle).
Extraction de l’instruction de la mémoire principale
D’ecodage de l’instruction et accès à ses opérandes
Exécution de l’instruction (addition, soustraction,
multiplication,....)
Stockage des résultats
Chaque instruction à un coût constant que nous ne définissons
pas.
Ne pas refléter la hiérarchisation de la mémoire(la mémoire
cache, la mémoire virtuelle ).

14
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Suite de Fibonacci


0
 si n = 0
Fn = 1 si n = 1

Fn−1 + Fn−2 sinon

15
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Suite de Fibonacci

Algorithme : Fibo1( n :entier) :entier


if n ≤ 1 then
return n ;
else
return Fibo1(n − 1)+ Fibo1 (n − 2) ;

16
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Suite de Fibonacci

Algorithme : Fibo2( n :entier) :entier


T[0...n] ;
T[0]=0 ;
T[1]=1 ;
for i ← 2 to n do
T[i]=T[i − 1]+T[i − 2] ;
return T[n] ;

17
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Suite de Fibonacci

Algorithme : Fibo3( n :entier) :entier


if n ≤ 1 then
return n ;
f0=0 ;f1=1 ;
for i ← 2 to n do
t=f1 ;
f1=f0+f1 ;
f0=t ;
return f1 ;

18
Notation Standard et fonctions classiques
Complexité
Analyse des algorithmes (introduction)

Suite de Fibonacci

n 40 5.107 2.108 2.109


Fibo1 31 s calcul irréalisable
Fibo2 0s 18 s Segmentation fault
Fibo3 0s 4s 19 s 3 min 15 s

19

Vous aimerez peut-être aussi