83
Cours d’El´ ements d’Algorithmique 1 cours magistral le jeudi de 14h ` a 15h30

Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Cours d’Elements d’Algorithmique

1 cours magistral le jeudi de 14h a 15h30

Page 2: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Cours d’Elements d’Algorithmique

La prof d’amphi: Anne Micheli

[email protected]

https://www.irif.fr/∼amicheli/

Page 3: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Cours d’Elements d’Algorithmique

Les charges de TDs

Juliusz Chroboczek

Victor Lanvin

Antonio Bucciarelli

Info 4

Info 3

Info 2

Info 1

mercredi 8h30-10h30

vendredi 10h45-12h45

mardi 16h45-18h45

mardi 8h30-10h30

Ilias Garnier

Page 4: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Cours d’Elements d’Algorithmique

40% de controle continu + 60% pour l’examen final

Partiel (le 18 octobre)

Page 5: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

D’ou vient le mot algorithme?

Page 6: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

D’ou vient le mot algorithme?

Muhammad Ibn Musa al-Khuwarizmı (∼ 780-850)

mathematicien, geographe, astrologue et astronome perse

Page 7: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Page 8: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Au depart, il y a un probleme ? ? ?

Page 9: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Au depart, il y a un probleme ? ? ?

Comment faire ungateau au chocolat?

Page 10: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Au depart, il y a un probleme ? ? ?

Comment faire ungateau au chocolat?

Comment trier dans l’ordre croissantune suite de nombres entiers?

Page 11: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Au depart, il y a un probleme ? ? ?

Comment faire ungateau au chocolat?

Comment trier dans l’ordre croissantune suite de nombres entiers?

Comment additionner 2 nombres?

Page 12: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Suite finie d’instructions qui transforment

une donnee d’entree en une donnee de sortie

entree sortie

Page 13: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

200 g de chocolat noir

4 œufs

150 g de sucre

80 g de farine

200 g de beurre melanger les jaunes d’œufs avec...mettre 20 min au four a 180˚entree

sortie

Pour 6 personnes:

suite finie d’instructions

Page 14: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

entree

sortie

suite finie d’instructions

n1 = 50839n2 = 160736

commencer par additionner les2 chiffres des unites

res = 211575

Page 15: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

entree

sortie

suite finie d’instructions

n1 = 50839n2 = 160736

commencer par additionner les2 chiffres des unites

res = 211575

puis repeter :noter le chiffre des unitesretenir le chiffre des dizaines,

additionner les deux chiffress’il y en a un

suivants de n1 et n2 et laretenue

Page 16: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

entree

sortie

suite finie d’instructions

n1 = 50839n2 = 160736

commencer par additionner les2 chiffres des unites

res = 211575

La donnee d’entree est appelee instance du probleme

puis repeter :noter le chiffre des unitesretenir le chiffre des dizaines,

additionner les deux chiffress’il y en a un

suivants de n1 et n2 et laretenue

Page 17: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

entree

sortie

n1 = 18n2 = 244

commencer par additionner les2 chiffres des unites

res = 262

nouvelle instance du probleme

puis repeter :noter le chiffre des unitesretenir le chiffre des dizaines,

additionner les deux chiffress’il y en a un

suivants de n1 et n2 et laretenue

suite finie d’instructions

Page 18: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Un algorithme est dit correct si, pour toute instance du probleme,

l’algorithme s’arrete lorsqu’il produit la bonne donnee de sortie.

Page 19: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Qu’est ce qu’un algorithme?

Un algorithme est dit correct si, pour toute instance du probleme,

l’algorithme s’arrete lorsqu’il produit la bonne donnee de sortie.

Exemples de problemes resolus par l’algorithmique:

- Acceder rapidement a l’information sur internet

- Identifier les 100000 genes de l’ADN humaine

- Archiver des donnees telles qu’elles occupent le moins de place possible

Page 20: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Il n’est pas necessaire de choisir un langage de programmation

Page 21: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Il n’est pas necessaire de choisir un langage de programmation

on ne veut pas dependre des specificites d’un langage

=⇒ on ecrit en pseudo-code

Page 22: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Il n’est pas necessaire de choisir un langage de programmation

on ne veut pas dependre des specificites d’un langage

=⇒ on ecrit en pseudo-code

if ... then{...

} else {...

}

Conditionnelle Boucles

for i from ... to ... {...

while ... {}

...}

Affectation

x ← ... ou x = ...

Fonction

return ...

mafonction(...){...

}

Tests

= ou ==

6=, >,≥, ...

Page 23: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

donnees: un tableau d’entiers resultat: l’element minimum du tableau

Page 24: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

6 19 3 11 9 5

min ← 6

donnees: un tableau d’entiers resultat: l’element minimum du tableau

7

Page 25: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

6 19 3 11 9 5

min ←

19

6

donnees: un tableau d’entiers resultat: l’element minimum du tableau

7

Page 26: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ←

6

3

donnees: un tableau d’entiers resultat: l’element minimum du tableau

3 7

Page 27: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ←

6

3

donnees: un tableau d’entiers resultat: l’element minimum du tableau

3 77

Page 28: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ←

6

3

donnees: un tableau d’entiers resultat: l’element minimum du tableau

3 117

Page 29: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ←

6

3

donnees: un tableau d’entiers resultat: l’element minimum du tableau

3 97

Page 30: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ← 2

6

donnees: un tableau d’entiers resultat: l’element minimum du tableau

27

Page 31: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ← 2

6

donnees: un tableau d’entiers resultat: l’element minimum du tableau

2 157

Page 32: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

2 15

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

Principe: on initialise le minimum a la premiere entree du tableau.

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire.

19 3 11 9 5

min ← 2

6

A la fin du parcours, on obtient le minimum

donnees: un tableau d’entiers resultat: l’element minimum du tableau

2 57

Page 33: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]1 on initialise le minimum a la premiere entree du tableau

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}

Page 34: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

}

1

2

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}

Page 35: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

1

2

3

4

5

6

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}

Page 36: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}

Page 37: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimumL’a

lgor

ithm

ees

tco

rrec

t!

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}

Page 38: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}3

Page 39: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

i = 1

19

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}3

Page 40: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

i = 2

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}336

Page 41: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 57

i = 3

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}336

Page 42: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

i = 4

11

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}336

Page 43: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 59

i = 5

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}336

Page 44: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

i = 6

9

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}2336 3

Page 45: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

9

15

i = 7

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}152336 3

Page 46: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

6

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiers

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

19 7 11 9 2 15 5

9 15

i = 8

donnees: un tableau d’entiers resultat: l’element minimum du tableau

}52336 3

Page 47: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Ecrire un algorithme

Probleme: recherche du minimum dans un tableau d’entiersde l’element x

RechercheMin (tab: un tableau de n entiers){

min ← tab[0]

for i from 1 to n-1 {

if min > tab[i] {

min ← tab[i]

}

}

return min

1

2

3

4

5

6

7

on initialise le minimum a la premiere entree du tableau

Puis on parcourt les autres entrees du tableau une a une

en mettant a jour le minimum si necessaire

A la fin du parcours, on obtient le minimum

donnees: un tableau d’entiers et un entier

resultat: l’indice de l’entier recherche dans le tableau s’il s’y trouve, -1 sinon

}}}}

Page 48: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

s’il s’y trouve, -1 sinon

on initialise l’indice de x dans le tableau a -1, ie. x n’a pas encore ete vu

Puis on parcourt toutes les entrees du tableau une a une

en mettant a jour l’indice de x dans le tableau si necessaire

A la fin du parcours, on obtient l’indice de x dans tab

RechercheMin (tab: un tableau de n entiers)

Ecrire un algorithme

ind ← -1

for i from 0 to n-1 {

if tab[i] = x {

ind ← i

}

}

return ind

1

2

3

4

5

6

7

RechercheElt (tab: un tableau de n entiers, x: entier){

Probleme: recherche du minimum dans un tableau d’entiersde l’element x

donnees: un tableau d’entiers et un entier

resultat: l’indice de l’entier recherche dans le tableau s’il s’y trouve, -1 sinon

}

Page 49: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

s’il s’y trouve, -1 sinon

on initialise l’indice de x dans le tableau a -1, ie. x n’a pas encore ete vu

Puis on parcourt toutes les entrees du tableau une a une

en mettant a jour l’indice de x dans le tableau si necessaire

A la fin du parcours, on obtient l’indice de x dans tab

RechercheMin (tab: un tableau de n entiers)

Ecrire un algorithme

ind ← -1

for i from 0 to n-1 {

if tab[i] = x {

ind ← i

}

}

return ind

1

2

3

4

5

6

7

RechercheElt (tab: un tableau de n entiers, x: entier){

Amelioration: retourner l’indice de x des qu’on le trouve dans le tableau

Probleme: recherche du minimum dans un tableau d’entiersde l’element x

donnees: un tableau d’entiers et un entier

resultat: l’indice de l’entier recherche dans le tableau s’il s’y trouve, -1 sinon

}

Page 50: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

s’il s’y trouve, -1 sinon

on initialise l’indice de x dans le tableau a -1, ie. x n’a pas encore ete vu

Puis on parcourt toutes les entrees du tableau une a une

en mettant a jour l’indice de x dans le tableau si necessaire

A la fin du parcours, on obtient l’indice de x dans tab

RechercheMin (tab: un tableau de n entiers)

Ecrire un algorithme

ind ← -1

for i from 0 to n-1 {

if tab[i] = x {

ind ← i

}

}

return ind

1

2

3

4

5

6

7

RechercheElt (tab: un tableau de n entiers, x: entier){

Amelioration: retourner l’indice de x des qu’on le trouve dans le tableau

-1

On parcourt toutes les entrees du tableau une a une

en retournant l’indice de x dans le tableau si on trouve x

Probleme: recherche du minimum dans un tableau d’entiersde l’element x

donnees: un tableau d’entiers et un entier

resultat: l’indice de l’entier recherche dans le tableau s’il s’y trouve, -1 sinon

}

Si on arrive ici, c’est que x n’a pas ete trouveet on retourne -1

return i

Page 51: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Conclusion

Losqu’on connait bien un algorithme pour resoudre un probleme, on peut en deduire d’autres

pour resoudre d’autres problemes similaires en effectuant de petits changements

Page 52: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Conclusion

Losqu’on connait bien un algorithme pour resoudre un probleme, on peut en deduire d’autres

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

pour resoudre d’autres problemes similaires en effectuant de petits changements

Page 53: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

Page 54: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

Page 55: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

Page 56: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

Page 57: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

Page 58: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

2

Page 59: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3 2

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

2

Page 60: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3 2

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

2

2

Page 61: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3 2

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

3

2

2

2

scinder le tableau en deux sous-tableaux T1 et T2

calculer le minimum, min1 de T1

calculer le minimum, min2 de T2

retourner le minimum de min1 et min2

si T a plus qu’un element

sinon retourner l’unique element de T

T1 T2

Page 62: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

3 2

Un nouvel algorithme pour trouver le minimum d’un tableau

Probleme: recherche du minimum dans un tableau d’entiersdonnees: un tableau d’entiers resultat: l’element minimum du tableau

6 19 3 7 11 9 2 15 5

Principe: diviser pour regner

6 3

9

52

3

2

2

2

scinder le tableau en deux sous-tableaux T1 et T2

calculer le minimum, min1 de T1

calculer le minimum, min2 de T2

retourner le minimum de min1 et min2

si T a plus qu’un element

sinon retourner l’unique element de T

Algorithme recursif

T1 T2

Page 63: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

Page 64: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

Comparer deux algorithmes

comparer les vitesses d’execution sur les memes instances algorithme efficace

Page 65: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

Comparer deux algorithmes

comparer les vitesses d’execution sur les memes instances algorithme efficace

compter le nombre d’operations elementaireseffectuees lors du deroulement de l’algorithme

aujourd’hui: 1 operation elementaire ∼ 1 nanoseconde (10−9 s)

Etude de la complexite en temps

choisir une bonne structure de donnees

Page 66: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

Comparer deux algorithmes

comparer les vitesses d’execution sur les memes instances algorithme efficace

comparer l’espace necessaire en memoire selon les instances

choisir une bonne structure de donnees

Etude de la complexite en espace

Page 67: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Questions

On a parle d’amelioration, mais qu’est-ce que cela signifie?

Comment comparer deux algorithmes resolvant le meme probleme sur les memes instances?

Comparer deux algorithmes

comparer les vitesses d’execution sur les memes instances algorithme efficace

comparer l’espace necessaire en memoire selon les instances

lisibilite de l’algorithme, simplicite du principe, simplicite de l’implementation...

Attention il existe des algorithmes pour lesquels on ne connait pas de solution efficace!

Page 68: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Le probleme du voyageur de commerce

Page 69: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Le probleme du voyageur de commerce

ronde la plus courte passantpar tous les villages?

Page 70: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Le probleme du voyageur de commerce

ronde la plus courte passant

Pas d’autre algorithme connu que decalculer toutes les rondes possibles!Pas de solution efficace!

par tous les villages?

Page 71: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

n2

n5

2n

nn

20 40 60 100 300

12500 ms 1

625 ms 1278 ms 1

100 ms 111 ms

3 ms 110 s 78

100 s 10 s 40, 5min

1 ms 18, 3min 36, 5annees

4.1011

siecles...

3, 3.107

siecles...

n taille de la donnee

nombres d’operations elementaires

aujourd’hui: 1 operation elementaire ∼ 1 nanoseconde (10−9 s)

Page 72: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

n2

n5

2n

nn

20 40 60 100 300

12500 ms 1

625 ms 1278 ms 1

100 ms 111 ms

3 ms 110 s 78

100 s 10 s 40, 5min

1 ms 18, 3min 36, 5annees

4.1011

siecles...

3, 3.107

siecles...

n taille de la donnee

nombres d’operations elementaires

aujourd’hui: 1 operation elementaire ∼ 1 nanoseconde (10−9 s)

Et il existe des probleme qu’on ne sait pas resoudre avec un algorithme!

Page 73: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Et il existe des probleme qu’on ne sait pas resoudre avec un algorithme!

Le probleme de l’arret : peut-on ecrire une algorithme A qui

pour tout algorithme B et toute instance I

determine si B s’arrete pour la donnee I?

Page 74: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Et il existe des probleme qu’on ne sait pas resoudre avec un algorithme!

Le probleme de l’arret : peut-on ecrire une algorithme A qui

pour tout algorithme B et toute instance I

determine si B s’arrete pour la donnee I?

NON

Page 75: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

Page 76: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

30 21

Page 77: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

30 = 21 + 9

= 2 × 9 + 3 + 9

Page 78: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

30 = 21 + 9

= 2 × 9 + 3 + 9= 2 × 9 + 3 + 9

Page 79: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

30 = 21 + 9

= 2 × 9 + 3 + 9

= 2× 3 × 3 + 0 + 3 + 9

= 2 × 9 + 3 + 9

Page 80: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

30 = 21 + 9

= 2 × 9 + 3 + 9

= 2× 3 × 3 + 0 + 3 + 9

= 2 × 9 + 3 + 9

3 est le pgcd de 30 et 21.

Page 81: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

Calcule le pgcd de deux nombres

Principe:

pgcd(n1, 0) = n1

pgcd(n1, n2) = pgcd(n2, reste de la division de n1 par n2)

Page 82: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

L’algorithme d’Euclide (∼ 300 avant J.C.)

pgcd(n1 et n2 entiers positifs ou nuls){

if n2 = 0 {

return n1

}else {

}

return pgcd(n2, reste(n1, n2))

Calcule le pgcd de deux nombres

Principe:

pgcd(n1, 0) = n1

pgcd(n1, n2) = pgcd(n2, reste de la division de n1 par n2)

Algorithme:

Page 83: Cours d'Elements d'Algorithmiqueamicheli/Ens/EA3/cours.pdf · Cours d'Elements d'Algorithmique Les charges de TDs Juliusz Chroboczek Victor Lanvin Antonio Bucciarelli Info 4 Info

Conclusion

Connaıtre des algorithmes permet d’en concevoir de nouveaux regit par un principe similaire

Un algorithme doit etre efficace pour pouvoir donner une reponse dans un temps raisonnable

en utilisant une place en memoire raisonnable.

lecture, modification et ecriture d’algorithmes

etude de la complexite d’un algorithme