SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfMbarkiIsraa
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
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
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmiqueAtef MASMOUDI
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptMbarkiIsraa
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NETAziz Darouichi
 
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
 

La actualidad más candente (20)

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 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
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
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
A star
A starA star
A star
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.ppt
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 

Destacado

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
 

Destacado (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 a 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 a Chapitre i introduction et motivations (20)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
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
 
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
 

Más de Sana Aroussi

Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana 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 iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana 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
 

Más de Sana Aroussi (18)

Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
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 iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
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
 

Último

Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 

Último (18)

Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 

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