SlideShare a Scribd company logo
1 of 16
Download to read offline
Université Saad Dahleb de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatique (GSI)
Semestre 5 (3ème année)

ALGORITHMIQUE 02
Cours n°1: 9 Octobre 2013
AROUSSI Sana

Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PRÉAMBULE


Pré-requis: Cours (Algo1, S1) + (Algo 2, S2) + (Aglo 1, S4).



UEF: Algorithmique et Technologie d’Implémentation (ALTI)



Volume horaire hebdomadaire: 3H Cours + 1H30 TD



Évaluation: continu + Examen.



Coefficient 1, Crédit 4

2
OBJECTIFS DE LA MATIÈRE


Élaborer des algorithmes performants et efficaces



Comprendre la notion de complexité d’un algorithme



Maîtriser la récursivité (simple, multiple, mutuelle, imbriquée)



Savoir dé-récursiver des algorithmes simples et multiples



Maîtriser la démarche « diviser pour régner »



Savoir estimer la complexité d’un algorithme itératif ou récursif



Connaître les différents algorithmes de tri et estimer leur complexité



Comprendre la méthode gloutonne.



Définir la classe de complexité NP.



Étudier quelques algorithmes d’approximations de complexité polynomiale
(les heuristiques)

3
CONTENU DE LA MATIÈRE
I.

Introduction et Motivations

II.

Complexité et Optimalité

III.

Récursivité et Paradigme « diviser pour régner »

IV.

Algorithmes de tri

V.

Algorithmes gloutons

VI.

NP-complétude

VII.

Heuristiques
4
CHAPITRE I:

INTRODUCTION & MOTIVATION
PLAN DU CHAPITRE I
 Généralités

sur l’Algorithmique



Définition



Étapes de conception

 Algorithmique

et Programmation



Définition



Langages de programmation



Démarche de programmation

 Qualités

d’un Bon Algorithme
6
GÉNÉRALITÉ SUR L’ALGORITHMIQUE


Historique : L’algorithmique est un terme d’origine arabe,
hommage à Al Khawarizmi (780-850) auteur d’un ouvrage décrivant

des méthodes de calculs algébriques.



Définition:

Un

algorithme

est

suite

finie

d’opérations

élémentaires constituant un schéma de calcul ou de résolution d’un
problème.
7
GÉNÉRALITÉ SUR L’ALGORITHMIQUE
ÉTAPES DE CONCEPTION D’UN ALGORITHME

Analyse

Définition précise des données,
des traitements et de leur
séquencement

Définition du problème en terme
de séquences d’opérations de
calcul, de stockage de données

Conception

Programmation

Traduction et réalisation de
l’algorithme dans un langage
précis

8
Vérification du bon
fonctionnement de l’algorithme

Test
ALGORITHMIQUE & PROGRAMMATION


Définition : Un programme est la traduction d’un algorithme
dans un langage de programmation.

Langage
de haut
niveau
Binaire,
Assembleur

Langage
de bas
niveau

Évolution
Orienté Objet
(C++, C#, Java),
....

Procédural
(Pascal, C),
Logique (Prolog),
....

9
ALGORITHMIQUE & PROGRAMMATION
DÉMARCHE DE PROGRAMMATION

Énoncé du
problème

Analyse du
problème

Traduction du code
objet en code
machine exécutable,
compréhensible par
l'ordinateur

Compilation

Programme
binaire
exécutable

(traduction du
code source en
code objet)

Exécution du
programme

Algorithme

Programme
(code source)

Résultats

Choisir un
langage de
programmation

Programmation
(traduction
l’algorithme en
programme)

10
QUALITÉ D’UN BON ALGORITHME


Correct: Il faut que le programme exécute correctement ses
tâches pour lesquelles il a été conçu.



Complet: Il faut que le programme considère tous les cas
possibles et donne un résultat dans chaque cas.



Efficace: Il faut que le programme exécute sa tâche avec
efficacité, c’est-à-dire avec une complexité minimal qui s’est
mesurée en termes de temps de calcul et d’espace mémoire
nécessaire.

11
QUALITÉ D’UN BON ALGORITHME
EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME

Soit P(X) un polynôme de degré n
P(X) = anXn + an-1Xn-1 + ... + a1X + a0 ,
Où: n : entier naturel
an, an-1, ..., a1, a0 : les coefficients du polynôme



1ère variante
Début

1ère Complexité :

P0

(n+1) additions

Pour i allant de 0 à n faire
P  P+ ai *Xi

(n+1) multiplications

(n+1) puissances

Finpour
Fin

12
QUALITÉ D’UN BON ALGORITHME
EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME
1ère variante
Début

2ème variante
Début
Inter1

P0
Pour i allant de 0 à n faire
P  P+ ai

*Xi

Finpour
Fin

P 0
Pour i allant de 0 à n faire
P  P+ Inter *ai
Inter  Inter * X
finpour

1ère Complexité :
(n+1) additions
(n+1) multiplications
(n+1) puissances

Fin
2ème Complexité :
(n+1) additions
2(n+1) multiplications

13
QUALITÉ D’UN BON ALGORITHME
EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME

3ème variante: Schéma de Horner
P(X) = anXn + an-1Xn-1 + ... +a2X2 + a1X + a0
=(anXn-1 + an-1Xn-2 + ... +a2X + a1)X + a0
= ((anXn-1 + an-1Xn-2 + ... +a2)X+ a1)X + a0



= ............
=

(....(((anX + an-1)X+ an-2 )X.....)X+ ... +a2)X+ a1)X + a0

3ème variante
Début

P  an
Pour i allant de n-1 à 0 faire
P  P*X + ai
Finpour
Fin

3ème Complexité :
n additions
n multiplications

14
QUALITÉ D’UN BON ALGORITHME
EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME

Variantes

Première

Deuxième

Troisième

Complexité
(nombre
d’opérations)

(n+1) additions

(n+1) additions

n additions

(n+1) multiplications 2(n+1)
(n+1) puissances



Nécessité

d’estimer

n multiplications

multiplications

la

complexité

d’un

algorithme avant de l’écrire et l’implémenter
15
SOURCES DE CE COURS


Mohamed El Marraki, Algorithmique, Université Mohammed V-Agdal, Faculté des
Sciences Rabat, Département Mathématiques et Informatique, 2007, pp.35.
Disponible sur www.fsr.um5a.ac.ma/cours/informatique/elmarraki/Algo_ch1_3.pdf



Frédéric Vivien, Algorithmique avancée, École Normale Supérieure de Lyon, 2002.,

pp. 93. Disponible sur http://perso.ens-lyon.fr/frederic.vivien/Enseignement/Algo2001-2002/Cours.pdf


Slim Msfar,

Algorithmique

et Complexité, 2012,

pp

104.

Disponible sur

http://p835.phpnet.org/testremorque/upload/catalogue/coursalgorithmi.pdf

16

More Related Content

What's hot

Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptxtarekjedidi
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).vangogue
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Faycel Chaoua
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmiqueAtef MASMOUDI
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 

What's hot (20)

Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Cours.langage c
Cours.langage cCours.langage c
Cours.langage c
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Formation python
Formation pythonFormation python
Formation python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 

Viewers also liked

Filtres you tube dans la série des tutos des p’tits trucs
Filtres you tube dans la série des tutos des p’tits trucsFiltres you tube dans la série des tutos des p’tits trucs
Filtres you tube dans la série des tutos des p’tits trucsFrançoise Grave
 
scopeKM: Opinion Mining – finden die Meinung jenseits von Stimmungen
scopeKM: Opinion Mining – finden die Meinung jenseits von StimmungenscopeKM: Opinion Mining – finden die Meinung jenseits von Stimmungen
scopeKM: Opinion Mining – finden die Meinung jenseits von StimmungenscopeKM GmbH Knowledge Management
 
Keepeek choisit le Cloud privé de Claranet
Keepeek choisit le Cloud privé de ClaranetKeepeek choisit le Cloud privé de Claranet
Keepeek choisit le Cloud privé de ClaranetClaranet
 
Veille marketing choisir ses outils 2
Veille marketing choisir ses outils 2Veille marketing choisir ses outils 2
Veille marketing choisir ses outils 2Françoise Grave
 
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und Grenzen
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und GrenzenAtmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und Grenzen
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und GrenzenRichard Meier-Sydow
 
Nutzung von Social Media für interne Beteiligungsprozesse
Nutzung von Social Media für interne BeteiligungsprozesseNutzung von Social Media für interne Beteiligungsprozesse
Nutzung von Social Media für interne BeteiligungsprozesseUlrich Winchenbach
 
PInvent projektdesign und-empirieergebnisse
PInvent projektdesign und-empirieergebnissePInvent projektdesign und-empirieergebnisse
PInvent projektdesign und-empirieergebnissePaco Murillo
 
1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologieLivdhyan
 
Sábados_março
Sábados_marçoSábados_março
Sábados_marçoBESttau
 
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-Gabéric
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-GabéricConcours 2016 des maisons et jardins fleuris - Ville d'Ergué-Gabéric
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-GabéricVille d'Ergué-Gabéric
 
Lagardère it-security-prosodie-240614
Lagardère it-security-prosodie-240614Lagardère it-security-prosodie-240614
Lagardère it-security-prosodie-240614Prosodie Capgemini
 
Ben harrath arijtp3 les règles d'association
Ben harrath arijtp3 les règles d'association Ben harrath arijtp3 les règles d'association
Ben harrath arijtp3 les règles d'association ARIJ BenHarrath
 
OJD_Communiqué DSH 2013 2014_ sept2014
OJD_Communiqué DSH 2013 2014_ sept2014OJD_Communiqué DSH 2013 2014_ sept2014
OJD_Communiqué DSH 2013 2014_ sept2014ACPM
 
Preguntas para responder (recuperado)
Preguntas para responder (recuperado)Preguntas para responder (recuperado)
Preguntas para responder (recuperado)susatecn
 
Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102GustavoB1998
 
Collectart : l'appli des collectionnneurs en herbe
Collectart : l'appli des collectionnneurs en herbeCollectart : l'appli des collectionnneurs en herbe
Collectart : l'appli des collectionnneurs en herbeAurite Kouts
 

Viewers also liked (20)

Filtres you tube dans la série des tutos des p’tits trucs
Filtres you tube dans la série des tutos des p’tits trucsFiltres you tube dans la série des tutos des p’tits trucs
Filtres you tube dans la série des tutos des p’tits trucs
 
scopeKM: Opinion Mining – finden die Meinung jenseits von Stimmungen
scopeKM: Opinion Mining – finden die Meinung jenseits von StimmungenscopeKM: Opinion Mining – finden die Meinung jenseits von Stimmungen
scopeKM: Opinion Mining – finden die Meinung jenseits von Stimmungen
 
Keepeek choisit le Cloud privé de Claranet
Keepeek choisit le Cloud privé de ClaranetKeepeek choisit le Cloud privé de Claranet
Keepeek choisit le Cloud privé de Claranet
 
Veille marketing choisir ses outils 2
Veille marketing choisir ses outils 2Veille marketing choisir ses outils 2
Veille marketing choisir ses outils 2
 
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und Grenzen
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und GrenzenAtmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und Grenzen
Atmender Betrieb durch Gestaltung der Arbeitszeit - Möglichkeiten und Grenzen
 
Dossier de production
Dossier de productionDossier de production
Dossier de production
 
Nutzung von Social Media für interne Beteiligungsprozesse
Nutzung von Social Media für interne BeteiligungsprozesseNutzung von Social Media für interne Beteiligungsprozesse
Nutzung von Social Media für interne Beteiligungsprozesse
 
Lps pacte canne
Lps   pacte canneLps   pacte canne
Lps pacte canne
 
PInvent projektdesign und-empirieergebnisse
PInvent projektdesign und-empirieergebnissePInvent projektdesign und-empirieergebnisse
PInvent projektdesign und-empirieergebnisse
 
Social CRM Report
Social CRM ReportSocial CRM Report
Social CRM Report
 
1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie1959 notions-fondamentales-endocrinologie-et-criminologie
1959 notions-fondamentales-endocrinologie-et-criminologie
 
Sábados_março
Sábados_marçoSábados_março
Sábados_março
 
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-Gabéric
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-GabéricConcours 2016 des maisons et jardins fleuris - Ville d'Ergué-Gabéric
Concours 2016 des maisons et jardins fleuris - Ville d'Ergué-Gabéric
 
Lagardère it-security-prosodie-240614
Lagardère it-security-prosodie-240614Lagardère it-security-prosodie-240614
Lagardère it-security-prosodie-240614
 
Veiller sur twitter
Veiller sur twitterVeiller sur twitter
Veiller sur twitter
 
Ben harrath arijtp3 les règles d'association
Ben harrath arijtp3 les règles d'association Ben harrath arijtp3 les règles d'association
Ben harrath arijtp3 les règles d'association
 
OJD_Communiqué DSH 2013 2014_ sept2014
OJD_Communiqué DSH 2013 2014_ sept2014OJD_Communiqué DSH 2013 2014_ sept2014
OJD_Communiqué DSH 2013 2014_ sept2014
 
Preguntas para responder (recuperado)
Preguntas para responder (recuperado)Preguntas para responder (recuperado)
Preguntas para responder (recuperado)
 
Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102Leidy yurany jimenez quintero 1102
Leidy yurany jimenez quintero 1102
 
Collectart : l'appli des collectionnneurs en herbe
Collectart : l'appli des collectionnneurs en herbeCollectart : l'appli des collectionnneurs en herbe
Collectart : l'appli des collectionnneurs en herbe
 

Similar to Chapitre i introduction et motivations

la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéSana REFAI
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Présentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxPrésentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxouassityoussef
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetAmine Chkr
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2hortis
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 

Similar to Chapitre i introduction et motivations (20)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
seance1.pdf
seance1.pdfseance1.pdf
seance1.pdf
 
Présentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxPrésentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptx
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception Objet
 
Uml
UmlUml
Uml
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
langage C++
langage C++langage C++
langage C++
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
 
Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17Cours de Génie Logiciel / ESIEA 2016-17
Cours de Génie Logiciel / ESIEA 2016-17
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Cours algorithmique02
Cours algorithmique02Cours algorithmique02
Cours algorithmique02
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 

More from Sana Aroussi

Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statiqueSana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Sana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerSana Aroussi
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurSana Aroussi
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 

More from Sana Aroussi (15)

Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 

Recently uploaded

Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 

Recently uploaded (16)

Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 

Chapitre i introduction et motivations

  • 1. Université Saad Dahleb de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatique (GSI) Semestre 5 (3ème année) ALGORITHMIQUE 02 Cours n°1: 9 Octobre 2013 AROUSSI Sana Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PRÉAMBULE  Pré-requis: Cours (Algo1, S1) + (Algo 2, S2) + (Aglo 1, S4).  UEF: Algorithmique et Technologie d’Implémentation (ALTI)  Volume horaire hebdomadaire: 3H Cours + 1H30 TD  Évaluation: continu + Examen.  Coefficient 1, Crédit 4 2
  • 3. OBJECTIFS DE LA MATIÈRE  Élaborer des algorithmes performants et efficaces  Comprendre la notion de complexité d’un algorithme  Maîtriser la récursivité (simple, multiple, mutuelle, imbriquée)  Savoir dé-récursiver des algorithmes simples et multiples  Maîtriser la démarche « diviser pour régner »  Savoir estimer la complexité d’un algorithme itératif ou récursif  Connaître les différents algorithmes de tri et estimer leur complexité  Comprendre la méthode gloutonne.  Définir la classe de complexité NP.  Étudier quelques algorithmes d’approximations de complexité polynomiale (les heuristiques) 3
  • 4. CONTENU DE LA MATIÈRE I. Introduction et Motivations II. Complexité et Optimalité III. Récursivité et Paradigme « diviser pour régner » IV. Algorithmes de tri V. Algorithmes gloutons VI. NP-complétude VII. Heuristiques 4
  • 6. PLAN DU CHAPITRE I  Généralités sur l’Algorithmique  Définition  Étapes de conception  Algorithmique et Programmation  Définition  Langages de programmation  Démarche de programmation  Qualités d’un Bon Algorithme 6
  • 7. GÉNÉRALITÉ SUR L’ALGORITHMIQUE  Historique : L’algorithmique est un terme d’origine arabe, hommage à Al Khawarizmi (780-850) auteur d’un ouvrage décrivant des méthodes de calculs algébriques.  Définition: Un algorithme est suite finie d’opérations élémentaires constituant un schéma de calcul ou de résolution d’un problème. 7
  • 8. GÉNÉRALITÉ SUR L’ALGORITHMIQUE ÉTAPES DE CONCEPTION D’UN ALGORITHME Analyse Définition précise des données, des traitements et de leur séquencement Définition du problème en terme de séquences d’opérations de calcul, de stockage de données Conception Programmation Traduction et réalisation de l’algorithme dans un langage précis 8 Vérification du bon fonctionnement de l’algorithme Test
  • 9. ALGORITHMIQUE & PROGRAMMATION  Définition : Un programme est la traduction d’un algorithme dans un langage de programmation. Langage de haut niveau Binaire, Assembleur Langage de bas niveau Évolution Orienté Objet (C++, C#, Java), .... Procédural (Pascal, C), Logique (Prolog), .... 9
  • 10. ALGORITHMIQUE & PROGRAMMATION DÉMARCHE DE PROGRAMMATION Énoncé du problème Analyse du problème Traduction du code objet en code machine exécutable, compréhensible par l'ordinateur Compilation Programme binaire exécutable (traduction du code source en code objet) Exécution du programme Algorithme Programme (code source) Résultats Choisir un langage de programmation Programmation (traduction l’algorithme en programme) 10
  • 11. QUALITÉ D’UN BON ALGORITHME  Correct: Il faut que le programme exécute correctement ses tâches pour lesquelles il a été conçu.  Complet: Il faut que le programme considère tous les cas possibles et donne un résultat dans chaque cas.  Efficace: Il faut que le programme exécute sa tâche avec efficacité, c’est-à-dire avec une complexité minimal qui s’est mesurée en termes de temps de calcul et d’espace mémoire nécessaire. 11
  • 12. QUALITÉ D’UN BON ALGORITHME EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME Soit P(X) un polynôme de degré n P(X) = anXn + an-1Xn-1 + ... + a1X + a0 , Où: n : entier naturel an, an-1, ..., a1, a0 : les coefficients du polynôme  1ère variante Début 1ère Complexité : P0 (n+1) additions Pour i allant de 0 à n faire P  P+ ai *Xi (n+1) multiplications (n+1) puissances Finpour Fin 12
  • 13. QUALITÉ D’UN BON ALGORITHME EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME 1ère variante Début 2ème variante Début Inter1 P0 Pour i allant de 0 à n faire P  P+ ai *Xi Finpour Fin P 0 Pour i allant de 0 à n faire P  P+ Inter *ai Inter  Inter * X finpour 1ère Complexité : (n+1) additions (n+1) multiplications (n+1) puissances Fin 2ème Complexité : (n+1) additions 2(n+1) multiplications 13
  • 14. QUALITÉ D’UN BON ALGORITHME EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME 3ème variante: Schéma de Horner P(X) = anXn + an-1Xn-1 + ... +a2X2 + a1X + a0 =(anXn-1 + an-1Xn-2 + ... +a2X + a1)X + a0 = ((anXn-1 + an-1Xn-2 + ... +a2)X+ a1)X + a0  = ............ = (....(((anX + an-1)X+ an-2 )X.....)X+ ... +a2)X+ a1)X + a0 3ème variante Début P  an Pour i allant de n-1 à 0 faire P  P*X + ai Finpour Fin 3ème Complexité : n additions n multiplications 14
  • 15. QUALITÉ D’UN BON ALGORITHME EXEMPLE: CALCUL DE LA VALEUR D’UN POLYNÔME Variantes Première Deuxième Troisième Complexité (nombre d’opérations) (n+1) additions (n+1) additions n additions (n+1) multiplications 2(n+1) (n+1) puissances  Nécessité d’estimer n multiplications multiplications la complexité d’un algorithme avant de l’écrire et l’implémenter 15
  • 16. SOURCES DE CE COURS  Mohamed El Marraki, Algorithmique, Université Mohammed V-Agdal, Faculté des Sciences Rabat, Département Mathématiques et Informatique, 2007, pp.35. Disponible sur www.fsr.um5a.ac.ma/cours/informatique/elmarraki/Algo_ch1_3.pdf  Frédéric Vivien, Algorithmique avancée, École Normale Supérieure de Lyon, 2002., pp. 93. Disponible sur http://perso.ens-lyon.fr/frederic.vivien/Enseignement/Algo2001-2002/Cours.pdf  Slim Msfar, Algorithmique et Complexité, 2012, pp 104. Disponible sur http://p835.phpnet.org/testremorque/upload/catalogue/coursalgorithmi.pdf 16