Théorie des graphes et optimisation dans les graphes Table des
Quel est le plus court chemin en nombre de kilomètres
Introduction à la théorie des graphes
Graphes valués et problème du plus court chemin . La démonstration fournit un algorithme de construction de cycle eulérien. Exemples.
Algorithmique des graphes quelques notes de cours
29 Apr 2008 à le recherche des plus courts chemins dans un graphe. Une description détaillée du parcours en largeur est donnée dans l'algorithme 1.
Quelques rappels sur la théorie des graphes
distance d'un sommet à un autre la longueur du plus court chemin/chaîne entre ces L'algorithme 1 présente la méthode du parcours d'un graphe en largeur.
À la recherche du plus court chemin
Ce calcul fait appel à la théorie des graphes et utilise différents algorithmes dont celui de Dijkstra qui est un algorithme du type parcours en largeur ou BFS
Cours dAlgorithmique et structures de données 1
29 Jan 2012 L'algorithme de Dijkstra résout le problème de la recherche d'un plus court chemin à origine unique pour un graphe orienté pondéré G = (S ...
RESOLUTION DE PROBLEMES DE PLUS COURT CHEMIN
I Algorithme de détermination des plus courts chemins : cas des graphes Si au cours de cet examen
INTRODUCTION À LA RECHERCHE OPÉRATIONNELLE
Plus courts chemins et programmation dynamique . Un étudiant maîtrisant les exercices de ce cours est capable de proposer une modélisation d'une.
Théorie des graphes
Notes de cours journal de bord
Examen du 18 janvier 2008 - corrigé - version ?2
18 Jan 2008 On applique les algorithmes de cours. Exercice 1 – Arbre couvrant minimum. Pour le graphe pondéré ci-dessus on cherche à trouver l'arbre ...
UniversitMohamedKhider-Bisk ra
FacultdesSciencesExact esetdesSc iencesdelaNatureetdel aVieDpartementdÕInformatique
2 `eme anneLMDCoursdÕAlgorith miqueetstructures
dedonne s1Chargducours:Dr. Abdelh amidDJEFFAL
AnneUnivers itaire2012/2013
Sommaire
1Introduction3
1.2Notiond Õalgorithme...............................4
1.3Langageal gorithmiqueutilis ..........................5
2Com plexitdesalgorithmes7
2.1Introd uction....................................7
2.2O-notation .....................................7
2.4Complexi tdesalgorithmesrcursifs......................13
2.5Typesd ecomplexitalg orithm ique.......................14
2.6Exercices .....................................15
3Structuressquentielles20
3.1Leslist eslinai rescha"nesaLLCg........................20
3.2Lespiles astack sg.................................26
3.3LesFil esdÕatt enteaQueuesg...........................34
4StructuresHirarchiques45
4.1Lesarb res.....................................45
4.2Lesarbr esbinai resderecherche.........................56
4.3Lestas aHeapsg ..................................63
5StructuresenTables69
5.1Introd uction....................................69
15.3Tablet rie.....................................70
5.4Hachag eaHashCodingg..............................70
6Lesgraphes75
6.1Introd uction....................................75
6.2DÞnit ions.....................................75
6.3Reprsent ationdesgraphes...........................78
6.4Parcou rsdegraphes...............................80
6.5Plusco urtcheminaalg orithmedeDi jkstrag..................83
7PreuvedÕalgorithmes86
7.1Introd uction....................................86
7.2Mthod edepreuvedÕalgorit hme........................86
7.3Outil sdepreuvedÕalgorith meaLo giquedeHoareg...............88
7.4Exemple ......................................91
7.5Conclusi on.....................................92
8SujetsdÕexamens93
Rfrences137
2Chapitre1
Introduction
deprpa ration.NÕayantaucunecapacitdÕinvent ion,lÕordinateurnepeut ene B etqu Õex- cuterlesordr esquilu isontfournispar lÕintermdi airedÕun programme.Ceder nierdoit IlsÕag itdedterminertoutesl esinform ationsdisponiblesetla formedesrsultats dsirs. Elleconsiste trouverlemoyendepasserd esdo nnesauxrsultats.Da nscertai nscasonpeu ttream enfaireu netudetho rique.Lersul ta tdelÕtapedÕa nalyse
oOnappelle algorithmeunesuit eÞniedÕinstructionsindiquantde faonunique lÕordredanslequeldoitt ree B ectuunensem bledÕo prationspourrsoud retous etpa rconsquenti lestimpossiblededonner lÕalgo rithm ecorrespondant. ÐEtape3:EcrituredÕunalgorithm eavecunlanga gededescriptionalgorithmique UnefoisquÕ ontrouvel emoyendepasserde sdonnesauxrsultats ,ilfaut tre capablederdigeruneso lutio nclaireetnonambig u.Commeil estimpossibledele 3 faireenlangage nat urel,lÕexistencedÕunlang agealgorithmiquesÕim pose. ÐEtape4:TraductiondelÕalgorithmedan sunlan gagedeprogrammation Lestap es1,2et3sefonts ansler ecou rs lam achine. Sionveutren drelÕalgo- rithmeconcretouprati que,ilfaudrait letra duiredansunlangagedepro gramma tion. Nousdironsal orsquÕunprogramme estunalgorithmeex primdansunlan gagede programmation.ÐEtape5:Miseaupoin tdu programme
1.Lamach inecorrigelÕorthograp he,cÕestcequÕonappelles yntaxedanslejargon
delapr ogrammation.2.Lamac hinetraduitlesensexprim parleprogramme.
Silesrs ultats obtenussontceuxattendus,lam iseaupointduprogr ammesetermine. Sinou snÕobtenonspa sdersultats,ondiraquÕilyaex istencedeser reursde logique. Leprog rammesoitnedonneaucunrsulta t,soitdesrsul tatsi nattendussoitdes rsultatspartiels.Danscecas ,ilfautrevoirenprioritsi lÕalgorithme at bien traduit,ouencoreest-cequÕil yaeuune bonneanalys e.1.2Notion dÕalgorithme
1.2.1DÞn ition
Onpeutd Þnirunalg orithmecommesu it:
Ouencor e:
Unes quencedepasdecalculqui prendun ensembledevaleurscommeentr eainputg et produitunensembledevaleurscomme sortieaoutputg.1.2.2Proprits
Onpeutn oncerlescinqp ropritssuiv antesqu edoitsati sfaireunalgorithme:ventualitsdÕuntraitement.
2.Finitude:Unalgorithmedo its Õarrter auboutdÕuntempsÞni.
3.DÞnitude:touteslesopration sd Õunalgorithmedo iventtr edÞniessansambigut
44.Rptitivit:gnralement,unalgorithm econ tientplusieursitrations,cÕest dire
5.Eocacit:Idalement ,u nalgorithmedoittreconude telleso rtequÕilsedroule
enun tempsmi nimaletquÕil consommeunminimumderes so urces.1.2.3Ex emples
ÐPGCDaPlu sGrandCommunDivis eurgdedeuxnom bresuetv. ÐAlgorithmenaf:ontestesuccessivemen tsichaquenom bre entieres tdiviseur commun.ÐDcompositionennombrespremiers.
ÐAlgorithmesdetri
ÐAlgorithmesderecherche
texteg.ÐRecherchedansundictionna ire.
Ð...etc.
1.2.4Rema rque
lisable.Onutilisedans cecasdes algorithmesheuristiquesq uifournissent dess olutio ns approches.1.3Langag ealgorithmiqueutilis
Durantcecours,onvau til iserunlangageal gorith miquep ourladescriptiondesdi B gnraledÕunalgorit hmeetlaplupa rtdesdclarationsetinstructionsut ili ses. 5AlgorithmePremierExemple;
TypeTTab=tableau[1..10]deree l;
ConstPi=3.14 ;
ProcdureDoubleax:reelg;
Dbut
xBxo2; Fin;FonctionInverseax:reelg:reel;
Dbut
InverseB1/x;
Fin;Vari,j, k:entier;
T:TTab;
S:chaine;
R:reel;
Dbut
EcrireaÕBonjour,d onnerun nombreentiern10:Õg;Lireaig ;
Siai>10gAlors
EcrireaÕErreur:id oittren10Õg
SinonPourjde1ifaire
LireaRg;
DoubleaRg;
T[j]BR;
FinPour ;
kB1;Tantqueaknigfaire
EcrireaT[k]oInverseaPigg;
kBk+1;FinTQ;
SBÕProgrammeterminÕ;
EcrireaSg;
FinSi;
Fin.Algorithme1:Algorithmet ype
6Chapitre2
Complexitdesalgorithmes
2.1Introduc tion
Letemps dÕexcutiondÕun algorithmedpenddesfacteurssu ivants:ÐLesdonn esutilisesparlep rogramme,
ÐLaqua litducompilateuralanga geuti lisg, ÐLamach ineutiliseavitesse,mmo ire,...g, ÐLacom plexitdelÕalgorithmelui-mm e, Oncherc hemesurerlacomplexi td Õunalgorithmein dpenda mmentdelamachineet dulang ageutiliss,c--duniqu ementenfonctiondelatailledesd onnesnquelÕalgori thme doittraiter. Parexemple,danslecasdetr idÕuntabl eau,nestlen ombred Õlmentsdu tableau,etdanslecasdecal cul dÕuntermedÕu nesuit enestlÕin diceduterme,...etc.2.2O-notat ion
Soitlafonction Tangquireprsent elÕvolutiondutempsdÕex cutiondÕunprogrammePenfo nctiondunombrededonnes n.
Parexemple:
Tang=cn
2 Ocestune constanten onspciÞequireprsentelavit essedelama chine,lesper- formancesdulangage,... etc.Ond itdanslÕexempleprcdentqu elacomplexitdePest Oan 2 g.Cel aveutdireq uÕilexist euneconstante cpositivetelquepournsuosamment grandona :Tangncn
2 7 Cettenotati ondonneunemajorationduno mbredÕoprations excutesatemp sdÕex- cutiongparleprogram meP.Un progra mmedontlacomplexitestOafanggestunpr o- grammequia fangcommefonctiond ecroissancedutempsdÕex cution .2.3.1L acomplexitdÕu neinstructionlmentaire
Uneoprat ionlmentaireestuneopratio ndontletempsdÕexcutionestin dpendan t dela taillendesdonn estelquelÕaBectation,lalecture,lÕcritu re,lacom paraison...etc. Lacompl exitdÕuneinstructionlment aireestOa1g2.3.2La multiplicati onparuneconstante
Oacofangg= Oafangg
Exemple:
Oa n 3 4 g=Oan 3 g2.3.3La complexitdÕun esquencededeuxmo dules
Lacompl exitdÕunesquencededeuxmodu lesM 1 decompl exitOafanggetM 2 decompl exitOaganggestgale laplusgrand ed escomplex itdesdeuxmodu les:Oamaxafang,ganggg.
Oafangg+Oagangg= Oamaxafang,agangg
2.3.4La complexitdÕu neconditionnelle
Lacomp lexitdÕuneconditionnelle
SiaCondgAlors
M 1 Sinon M 2FinSi;
8 estlema xentrel escomplexits delÕvaluati ondeSia[Oahangg]gAlors
M 1 [Oafangg] Sinon M 2 [Oagangg] FinSi;
Lacomp lexitdelaconditionnelleest:Max{Oahangg,Oafangg,Oagangg}2.3.5La complexitdÕun eboucle
Lacompl exitdÕuneboucleestgalel asommesurtoutesl esitrationsdela com- plexitducorpsdelabo ucle.Tantquea[Oahangg]gfaire
[mfois ] P;[Oafangg]
FinTQ;
Lacompl exitdelaboucleest:
B m Maxahang,fanggomest len ombred Õitrat ions excutesparlabou cle. 9Exemple1:
AlgorithmeRecherche;
VarT:tableau[1..n]deen tier;
x,i:entier; trouv:booleen;Dbut
Pouride1nfaire
LireaT [i]g;Oa1gOa
B n 11g=Oang
FinPou r;
Lireaxg;Oa1g
TrouvBfaux;Oa1gOa1g
iB1;Oa1gOangTantqueatrouv=fauxeti<=n[Oa1g]gfaire
SiaT[i]=x[Oa1g]gAlors
TrouvBvrai;[Oa1g]Oa1gOang
FinSi;
iBi+1;[Oa1g]FinTQ;
Siatrouv=vrai[Oa1g]gAlors
Ecrireax,ÕexisteÕ g[Oa1g]Oa1g
SinonEcrireax,ÕnÓexist epasÕg[Oa1g]
FinSi;
Fin. Lacomp lexitdelÕalgorithmeestdeOang+Oa1g+Oang+Oa1g=Oang. 10Exemple2:Soitlemo dulesuivan t:
Pouride1nfaire
[nfoisOa B n i=1 n igg]Pourjdei+1nfaire
[n ifoisOa B nBi 11g=Oan ig]
SiaT[i]>T[j][Oa1g]gAlors
tmpBT[i];[Oa1g]T[i]BT[j];[Oa1g]Oa1g
T[j]Btmp;[Oa1g]
FinSi;
FinPour ;
FinPour ;
Lacomp lexit=Oa
B n an ig=Oaan 1g+a n 2g...+1g =Oa nanB1g 2 g=Oa n 2 2 n 2 g=Oan 2 g 11Exemple3:Reche rchedi chot omique
AlgorithmeRechercheDecho;
VarT:tableau[1..n]deen tier;
x,sup,inf,m:entier; trouv:booleen;Dbut
Lireaxg;[Oa1g]
TrouvBfaux;[Oa1g]
infB1;[Oa1gOa1g] supBn;[Oa1g]Tantqueatrouv=fauxetinf [log 2 angfois] mBainf+Supg div 2;[Oa1g] SiaT[m]=x[Oa1g]gAlors
TrouvBvrai[Oa1g]
Sinon SiaT[m] infBm+1;[Oa1gOa1gOalog 2 angg] Sinon SupBm-1;[Oa1g]
FinSi;
FinSi;
FinTQ;
Siatrouv=vrai[Oa1g]gAlors
Ecrireax,ÕexisteÕ g;[Oa1g]Oa1g
Sinon Ecrireax,ÕnÕexist epasÕg;[Oa1g]
FinSi;
Fin. Lacomp lexitdelÕalgorithmeestde:
12 Oa1g+Oalog
2 angg+Oa1g=Oalog 2 angg=Oalogangg. 2.4Complex itdesalgorithmesrcursifs
Lacomp lexitdÕunalgorithmercurs ifsefaitparla rsolutiondÕunequationder- currenceenliminantl arcu rrenceparsubstitutiondepr ocheen proche. Exemple
Soitlafonction rcursiv esuivante:
FonctionFactan:entierg:entier;
Dbut
Sian<=1 [Oa1g]gAlors
FactB1[Oa1g]
Sinon FactBneF acta n-1g[Oa1g]
FinSi;
Fin; PosonsTangletemps dÕexcutionncess airepourunappelFactang,Tangest le maximumentre: Ðlacompl exitdutestnn1quiestenOa1g,
Ðlacompl exitde:FactB1qu iestaussien Oa1g,
Ðlacompl exitde:FactBneFactan-1gdontletempsd Õex cutiond penddeTan 1g apourlecalculdeFa ctan-1g g Onpeutd onccrirequ e:
Tang= o n asin<=1 b+Tan 1gsinonasin>1g ÐLaconstan teaenglobeletempsdutest an<=1getle tempsde lÕaBectation aFactB1g ÐLaconstan tebenglobe:
eletemps dutestan<=1g, eletemp sdelÕopratio neentre netle rsulta tdeFactan 1g, 13 eetl etempsd elÕaBectationÞnaleaFactB...g Tan 1galetempsnces sairepourleca lculdeFactan 1gseracalcula rcursivementg aveclammed composi tion.Pou rcalculerlasolutiongnraledecettequation, onpeut procderparsubstitut ion: Tang=b+Tan 1g
=b+[b+Tan 2g] =2b+Tan 2g =2b+[b+Tan 3g] =ib+Tan ig =ib+[b+Tan i+1g] =an 1gb+Tan n+1g= nb b+Ta1g=nb b+a Tang=nb b+a
DoncFactestenOangcarbest une constan tepositiv e.
2.5Typesdec omplexitalgo rit hmique
quotesdbs_dbs46.pdfusesText_46
SiaT[m]=x[Oa1g]gAlors
TrouvBvrai[Oa1g]
SinonSiaT[m] infBm+1;[Oa1gOa1gOalog 2 angg] Sinon SupBm-1;[Oa1g]
FinSi;
FinSi;
FinTQ;
Siatrouv=vrai[Oa1g]gAlors
Ecrireax,ÕexisteÕ g;[Oa1g]Oa1g
Sinon Ecrireax,ÕnÕexist epasÕg;[Oa1g]
FinSi;
Fin. Lacomp lexitdelÕalgorithmeestde:
12 Oa1g+Oalog
2 angg+Oa1g=Oalog 2 angg=Oalogangg. 2.4Complex itdesalgorithmesrcursifs
Lacomp lexitdÕunalgorithmercurs ifsefaitparla rsolutiondÕunequationder- currenceenliminantl arcu rrenceparsubstitutiondepr ocheen proche. Exemple
Soitlafonction rcursiv esuivante:
FonctionFactan:entierg:entier;
Dbut
Sian<=1 [Oa1g]gAlors
FactB1[Oa1g]
Sinon FactBneF acta n-1g[Oa1g]
FinSi;
Fin; PosonsTangletemps dÕexcutionncess airepourunappelFactang,Tangest le maximumentre: Ðlacompl exitdutestnn1quiestenOa1g,
Ðlacompl exitde:FactB1qu iestaussien Oa1g,
Ðlacompl exitde:FactBneFactan-1gdontletempsd Õex cutiond penddeTan 1g apourlecalculdeFa ctan-1g g Onpeutd onccrirequ e:
Tang= o n asin<=1 b+Tan 1gsinonasin>1g ÐLaconstan teaenglobeletempsdutest an<=1getle tempsde lÕaBectation aFactB1g ÐLaconstan tebenglobe:
eletemps dutestan<=1g, eletemp sdelÕopratio neentre netle rsulta tdeFactan 1g, 13 eetl etempsd elÕaBectationÞnaleaFactB...g Tan 1galetempsnces sairepourleca lculdeFactan 1gseracalcula rcursivementg aveclammed composi tion.Pou rcalculerlasolutiongnraledecettequation, onpeut procderparsubstitut ion: Tang=b+Tan 1g
=b+[b+Tan 2g] =2b+Tan 2g =2b+[b+Tan 3g] =ib+Tan ig =ib+[b+Tan i+1g] =an 1gb+Tan n+1g= nb b+Ta1g=nb b+a Tang=nb b+a
DoncFactestenOangcarbest une constan tepositiv e.
2.5Typesdec omplexitalgo rit hmique
quotesdbs_dbs46.pdfusesText_46
SupBm-1;[Oa1g]
FinSi;
FinSi;
FinTQ;
Siatrouv=vrai[Oa1g]gAlors
Ecrireax,ÕexisteÕ g;[Oa1g]Oa1g
SinonEcrireax,ÕnÕexist epasÕg;[Oa1g]
FinSi;
Fin.Lacomp lexitdelÕalgorithmeestde:
12Oa1g+Oalog
2 angg+Oa1g=Oalog 2 angg=Oalogangg.2.4Complex itdesalgorithmesrcursifs
Lacomp lexitdÕunalgorithmercurs ifsefaitparla rsolutiondÕunequationder- currenceenliminantl arcu rrenceparsubstitutiondepr ocheen proche.Exemple
Soitlafonction rcursiv esuivante:
FonctionFactan:entierg:entier;
Dbut
Sian<=1 [Oa1g]gAlors
FactB1[Oa1g]
SinonFactBneF acta n-1g[Oa1g]
FinSi;
Fin; PosonsTangletemps dÕexcutionncess airepourunappelFactang,Tangest le maximumentre:Ðlacompl exitdutestnn1quiestenOa1g,
Ðlacompl exitde:FactB1qu iestaussien Oa1g,
Ðlacompl exitde:FactBneFactan-1gdontletempsd Õex cutiond penddeTan 1g apourlecalculdeFa ctan-1g gOnpeutd onccrirequ e:
Tang= o n asin<=1 b+Tan 1gsinonasin>1g ÐLaconstan teaenglobeletempsdutest an<=1getle tempsde lÕaBectation aFactB1gÐLaconstan tebenglobe:
eletemps dutestan<=1g, eletemp sdelÕopratio neentre netle rsulta tdeFactan 1g, 13 eetl etempsd elÕaBectationÞnaleaFactB...g Tan 1galetempsnces sairepourleca lculdeFactan 1gseracalcula rcursivementg aveclammed composi tion.Pou rcalculerlasolutiongnraledecettequation, onpeut procderparsubstitut ion:Tang=b+Tan 1g
=b+[b+Tan 2g] =2b+Tan 2g =2b+[b+Tan 3g] =ib+Tan ig =ib+[b+Tan i+1g] =an 1gb+Tan n+1g= nb b+Ta1g=nb b+aTang=nb b+a
DoncFactestenOangcarbest une constan tepositiv e.
2.5Typesdec omplexitalgo rit hmique
quotesdbs_dbs46.pdfusesText_46[PDF] algorithme polynome second degré ti 82 PDF Cours,Exercices ,Examens
[PDF] Algorithme pour calculer les taux d'évolution 1ère Mathématiques
[PDF] Algorithme pour calculer une distance de sécuité 2nde Mathématiques
[PDF] Algorithme pour conjecturer une limite 1ère Mathématiques
[PDF] Algorithme pour déterminer le minimum d'une fonction polynome 2nde Mathématiques
[PDF] Algorithme pour deux suites Un et Sn TS Terminale Mathématiques
[PDF] algorithme pour Gamy, Compostelle ou Chut 4ème Mathématiques
[PDF] algorithme pour i allant de 1 ? n PDF Cours,Exercices ,Examens
[PDF] algorithme pour les nuls PDF Cours,Exercices ,Examens
[PDF] algorithme pour prouver qu'un quadrilatère=losange 2nde Mathématiques
[PDF] algorithme pour tester la colinéarité de deux vecteurs PDF Cours,Exercices ,Examens
[PDF] Algorithme Première S , revisions 1ère Mathématiques
[PDF] algorithme probabilité 1ere s PDF Cours,Exercices ,Examens
[PDF] algorithme probabilité loi binomiale PDF Cours,Exercices ,Examens