[PDF] Cours dAlgorithmique et structures de données 1





Previous PDF Next PDF



CORRIGÉ EXERCICES TERMINALE ES ALGORITHME DE

EXERCICES. TERMINALE ES. ALGORITHME DE Pour déterminer l'itinéraire allant de D à A le plus court en temps on utilise l'algorithme de Dijkstra à l'aide d'un.



Théorie des graphes et optimisation dans les graphes Table des

Pour aller de a à f l'algorithme de Dijkstra va trouver le chemin < a



Algorithmique — M1 - Examen du 11/1/11 -corrigé

11 janv. 2011 Algorithmique — M1. Examen du 11/1/11 -corrigé. Université Paris Diderot. On applique un algorithme de cours. Exercice 1 – Routage. Le serveur S ...



Modélisation du mouvement des personnes lors de lévacuation d

4 oct. 2010 ... ALGORITHME. 167. ///./. Aspects alqopifhmiques. 167. ///_2. liions a ... cours de l'incendie (ex: l'exercice d'évacuation peut conditionner ...



Notes de cours Algorithmique avancée

Exercice 6 Donner un algorithme utilisant la programmation dynamique pour résoudre sac à temps polynomial par l'algorithme de Dijkstra évoqué dans le chapitre ...



Cours dAlgorithmique et structures de données 1

12 mars 2013 6.5 Plus court chemin (algorithme de Dijkstra) . ... Examen d'algorithmique 1. 08h-09h30. A1 A2. Exercice 1 (10 pts: 1.5 + 1.5 + 3 + 1.5 + 2 .5).



Conception dalgorithmes Principes et 150 exercices non corrigés

de matériel pour les cours et les séances d'exercices (sans parler des examens). Publié en 1959 par le célèbre informaticien E.W. Dijkstra cet algorithme est.



Introduction à la théorie des graphes

Exercice. Soit G un graphe simple orienté d'ordre n de matrice d'adjacence M. Mon- trer que si Mn n'est pas nulle



GUIDE DES ÉTUDES

6 oct. 2023 Polycopié du cours (exercices compris). Langue de l'enseignement. Français ... - Algorithme de Dijkstra exemple d'utilisation. Les différents ...



Examen du 18 janvier 2008 - corrigé - version α2

18 janv. 2008 Correction. On adapte les algorithmes de cours. Exercice 3 – Poids max de camion. Un réseau routier connecte les villages d ...



Algorithme de Dijkstra

21 oct. 2008 l'algorithme de Dijkstra sur des exemples concrets. Exemple 1. Cherchons les plus courts chemins d'origine A dans ce graphe:.



Théorie des graphes et optimisation dans les graphes Table des

Exercice : Au cours d'une soirée les convives se serrent les mains les uns les l'algorithme de Dijkstra résoud ce problème lorsque tous les coûts sont ...



Cours dAlgorithmique et structures de données 1

29 janv. 2012 6.5 Plus court chemin (algorithme de Dijkstra) . ... 8 Sujets d'examens ... Exercice : Donner l'état de la pile après l'exécution des ...



Quelques rappels sur la théorie des graphes

ce jour un algorithme résolvant ce problème de façon exacte avec une complexité déterminer si l'arête en cours d'examen doit ou non être sélectionnée.



Introduction à la théorie des graphes

Graphes valués et problème du plus court chemin . Solutions des exercices ... Appliquons l'algorithme de Dijkstra au graphe suivant : Initialisation.



Examen du 18 janvier 2008 - corrigé - version ?2

18 janv. 2008 Correction. On adapte les algorithmes de cours. Exercice 3 – Poids max de camion. Un réseau routier connecte les villages d ...



Algorithmique — M1 - Examen du 11/1/11 -corrigé

11 janv. 2011 Examen du 11/1/11 -corrigé. Université Paris Diderot. On applique un algorithme de cours. Exercice 1 – Routage.



GRAPHES - EXERCICES CORRIGES Compilation réalisée à partir

Compilation réalisée à partir d'exercices de BAC TES 4) On utilise l'algorithme du plus court chemin de Dijkstra pour déterminer une chaîne qui minimise ...



Algorithmique I - Cours et Travaux Dirigés L3 Ecole Normale

6.5.5 Algorithme de Dijkstra . and analysis of algorithms contient les notes de cours et exercices (certains corrigés) d'un cours.



Cours APD : algorithmique parallèle et distribuée.

Un examen : Support de cours : transparents + exercices sur la page http://www.prism.uvsq.fr/ joco Algorithme centralisé de Dijkstra. Entrée :.

UniversitŽMohamedKhider-Bisk ra

FacultŽdesSciencesExact esetdesSc iencesdelaNatureetdel aVie

DŽpartementdÕInformatique

2 `eme annŽeLMD

CoursdÕAlgorith miqueetstructures

dedonnŽe s1

ChargŽducours:Dr. Abdelh amidDJEFFAL

AnnŽeUnivers itaire2012/2013

Sommaire

1Introduction3

1.2Notiond Õalgorithme...............................4

1.3Langageal gorithmiqueutilisŽ ..........................5

2Com plexitŽdesalgorithmes7

2.1Introd uction....................................7

2.2O-notation .....................................7

2.4Complexi tŽdesalgorithmesrŽcursifs......................13

2.5Typesd ecomplexitŽalg orithm ique.......................14

2.6Exercices .....................................15

3StructuressŽquentielles20

3.1Leslist eslinŽai rescha"nŽesaLLCg........................20

3.2Lespiles astack sg.................................26

3.3LesFil esdÕatt enteaQueuesg...........................34

4StructuresHiŽrarchiques45

4.1Lesarb res.....................................45

4.2Lesarbr esbinai resderecherche.........................56

4.3Lestas aHeapsg ..................................63

5StructuresenTables69

5.1Introd uction....................................69

1

5.3Tablet riŽe.....................................70

5.4Hachag eaHashCodingg..............................70

6Lesgraphes75

6.1Introd uction....................................75

6.2DŽÞnit ions.....................................75

6.3ReprŽsent ationdesgraphes...........................78

6.4Parcou rsdegraphes...............................80

6.5Plusco urtcheminaalg orithmedeDi jkstrag..................83

7PreuvedÕalgorithmes86

7.1Introd uction....................................86

7.2MŽthod edepreuvedÕalgorit hme........................86

7.3Outil sdepreuvedÕalgorith meaLo giquedeHoareg...............88

7.4Exemple ......................................91

7.5Conclusi on.....................................92

8SujetsdÕexamens93

RŽfŽrences137

2

Chapitre1

Introduction

deprŽpa ration.NÕayantaucunecapacitŽdÕinvent ion,lÕordinateurnepeut ene B etqu ÕexŽ- cuterlesordr esquilu isontfournispar lÕintermŽdi airedÕun programme.Ceder nierdoit IlsÕag itdedŽterminertoutesl esinform ationsdisponiblesetla formedesrŽsultats dŽsirŽs. Elleconsisteˆ trouverlemoyendepasserd esdo nnŽesauxrŽsultats.Da nscertai ns

casonpeu ttream enŽˆfaireu neŽtudethŽo rique.LerŽsul ta tdelՎtapedÕa nalyse

oOnappelle algorithmeunesuit eÞniedÕinstructionsindiquantde faonunique lÕordredanslequeldoitt ree B ectuŽunensem bledÕo pŽrationspourrŽsoud retous etpa rconsŽquenti lestimpossiblededonner lÕalgo rithm ecorrespondant. ÐEtape3:EcrituredÕunalgorithm eavecunlanga gededescriptionalgorithmique UnefoisquÕ ontrouvel emoyendepasserde sdonnŽesauxrŽsultats ,ilfaut tre capablederŽdigeruneso lutio nclaireetnonambig u‘.Commeil estimpossibledele 3 faireenlangage nat urel,lÕexistencedÕunlang agealgorithmiquesÕim pose. ÐEtape4:TraductiondelÕalgorithmedan sunlan gagedeprogrammation LesŽtap es1,2et3sefonts ansler ecou rsˆ lam achine. Sionveutren drelÕalgo- rithmeconcretouprati que,ilfaudrait letra duiredansunlangagedepro gramma tion. Nousdironsal orsquÕunprogramme estunalgorithmeex primŽdansunlan gagede programmation.

ÐEtape5:Miseaupoin tdu programme

1.Lamach inecorrigelÕorthograp he,cÕestcequÕonappelles yntaxedanslejargon

delapr ogrammation.

2.Lamac hinetraduitlesensexprim Žparleprogramme.

SilesrŽs ultats obtenussontceuxattendus,lam iseaupointduprogr ammesetermine. Sinou snÕobtenonspa sderŽsultats,ondiraquÕilyaex istencedeser reursde logique. Leprog rammesoitnedonneaucunrŽsulta t,soitdesrŽsul tatsi nattendussoitdes rŽsultatspartiels.Danscecas ,ilfautrevoirenprioritŽsi lÕalgorithme aŽtŽ 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.2PropriŽtŽs

OnpeutŽn oncerlescinqp ropriŽtŽssuiv antesqu edoitsati sfaireunalgorithme:

ŽventualitŽsdÕuntraitement.

2.Finitude:Unalgorithmedo its Õarrter auboutdÕuntempsÞni.

3.DŽÞnitude:touteslesopŽration sd Õunalgorithmedo iventtr edŽÞniessansambigu•tŽ

4

4.RŽpŽtitivitŽ:gŽnŽralement,unalgorithm econ tientplusieursitŽrations,cÕestˆ dire

5.EocacitŽ:IdŽalement ,u nalgorithmedoittreconude telleso rtequÕilsedŽroule

enun tempsmi nimaletquÕil consommeunminimumderes so urces.

1.2.3Ex emples

ÐPGCDaPlu sGrandCommunDivis eurgdedeuxnom bresuetv. ÐAlgorithmena•f:ontestesuccessivemen tsichaquenom bre entieres tdiviseur commun.

ÐDŽcompositionennombrespremiers.

ÐAlgorithmesdetri

ÐAlgorithmesderecherche

texteg.

ÐRecherchedansundictionna ire.

Ð...etc.

1.2.4Rema rque

lisable.Onutilisedans cecasdes algorithmesheuristiquesq uifournissent dess olutio ns approchŽes.

1.3Langag ealgorithmiqueutilisŽ

Durantcecours,onvau til iserunlangageal gorith miquep ourladescriptiondesdi B gŽnŽraledÕunalgorit hmeetlaplupa rtdesdŽclarationsetinstructionsut ili sŽes. 5

AlgorithmePremierExemple;

TypeTTab=tableau[1..10]deree l;

ConstPi=3.14 ;

ProcŽdureDoubleax:reelg;

DŽbut

xBxo2; Fin;

FonctionInverseax:reelg:reel;

DŽbut

InverseB1/x;

Fin;

Vari,j, k:entier;

T:TTab;

S:chaine;

R:reel;

DŽbut

EcrireaÕBonjour,d onnerun nombreentiern10:Õg;

Lireaig ;

Siai>10gAlors

EcrireaÕErreur:id oittren10Õg

Sinon

Pourjde1ˆifaire

LireaRg;

DoubleaRg;

T[j]BR;

FinPour ;

kB1;

Tantqueaknigfaire

EcrireaT[k]oInverseaPigg;

kBk+1;

FinTQ;

SBÕProgrammeterminŽÕ;

EcrireaSg;

FinSi;

Fin.

Algorithme1:Algorithmet ype

6

Chapitre2

ComplexitŽdesalgorithmes

2.1Introduc tion

Letemps dÕexŽcutiondÕun algorithmedŽpenddesfacteurssu ivants:

ÐLesdonn ŽesutilisŽesparlep rogramme,

ÐLaqua litŽducompilateuralanga geuti lisŽg, ÐLamach ineutilisŽeavitesse,mŽmo ire,...g, ÐLacom plexitŽdelÕalgorithmelui-mm e, Oncherc heˆmesurerlacomplexi tŽd Õunalgorithmein dŽpenda mmentdelamachineet dulang ageutilisŽs,c-ˆ-duniqu ementenfonctiondelatailledesd onnŽesnquelÕalgori thme doittraiter. Parexemple,danslecasdetr idÕuntabl eau,nestlen ombred ՎlŽmentsdu tableau,etdanslecasdecal cul dÕuntermedÕu nesuit enestlÕin diceduterme,...etc.

2.2O-notat ion

Soitlafonction TangquireprŽsent elՎvolutiondutempsdÕex ŽcutiondÕunprogramme

Penfo nctiondunombrededonnŽes n.

Parexemple:

Tang=cn

2 Ocestune constanten onspŽciގequireprŽsentelavit essedelama chine,lesper- formancesdulangage,... etc.Ond itdanslÕexempleprŽcŽdentqu elacomplexitŽdePest Oan 2 g.Cel aveutdireq uÕilexist euneconstante cpositivetelquepournsuosamment grandona :

Tangncn

2 7 Cettenotati ondonneunemajorationduno mbredÕopŽrations exŽcutŽesatemp sdÕexŽ- cutiongparleprogram meP.Un progra mmedontlacomplexitŽestOafanggestunpr o- grammequia fangcommefonctiond ecroissancedutempsdÕex Žcution .

2.3.1L acomplexitŽdÕu neinstructionŽlŽmentaire

UneopŽrat ionŽlŽmentaireestuneopŽratio ndontletempsdÕexŽcutionestin dŽpendan t dela taillendesdonn ŽestelquelÕaBectation,lalecture,lՎcritu re,lacom paraison...etc. Lacompl exitŽdÕuneinstructionŽlŽment aireestOa1g

2.3.2La multiplicati onparuneconstante

Oacofangg= Oafangg

Exemple:

Oa n 3 4 g=Oan 3 g

2.3.3La complexitŽdÕun esŽquencededeuxmo dules

Lacompl exitŽdÕunesŽquencededeuxmodu lesM 1 decompl exitŽOafanggetM 2 decompl exitŽOaganggestŽgale ˆlaplusgrand ed escomplex itŽdesdeuxmodu les:

Oamaxafang,ganggg.

Oafangg+Oagangg= Oamaxafang,agangg

2.3.4La complexitŽdÕu neconditionnelle

Lacomp lexitŽdÕuneconditionnelle

SiaCondgAlors

M 1 Sinon M 2

FinSi;

8 estlema xentrel escomplexitŽs delՎvaluati onde,M 1 etM 2

Sia[Oahangg]gAlors

M 1 [Oafangg] Sinon M 2 [Oagangg]

FinSi;

Lacomp lexitŽdelaconditionnelleest:Max{Oahangg,Oafangg,Oagangg}

2.3.5La complexitŽdÕun eboucle

Lacompl exitŽdÕuneboucleestŽgaleˆl asommesurtoutesl esitŽrationsdela com- plexitŽducorpsdelabo ucle.

Tantquea[Oahangg]gfaire

[mfois ]

P;[Oafangg]

FinTQ;

Lacompl exitŽdelaboucleest:

B m Maxahang,fanggomest len ombred ÕitŽrat ions exŽcutŽesparlabou cle. 9

Exemple1:

AlgorithmeRecherche;

VarT:tableau[1..n]deen tier;

x,i:entier; trouv:booleen;

DŽbut

Pouride1ˆnfaire

LireaT [i]g;Oa1gOa

B n 1

1g=Oang

FinPou r;

Lireaxg;Oa1g

TrouvBfaux;Oa1gOa1g

iB1;Oa1gOang

Tantqueatrouv=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

Sinon

Ecrireax,ÕnÓexist epasÕg[Oa1g]

FinSi;

Fin. Lacomp lexitŽdelÕalgorithmeestdeOang+Oa1g+Oang+Oa1g=Oang. 10

Exemple2:Soitlemo dulesuivan t:

Pouride1ˆnfaire

[nfoisOa B n i=1 n igg]

Pourjdei+1ˆnfaire

[n ifoisOa B nBi 1

1g=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 11

Exemple3:Reche rchedi chot omique

AlgorithmeRechercheDecho;

VarT:tableau[1..n]deen tier;

x,sup,inf,m:entier; trouv:booleen;

DŽbut

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 lexitŽdelÕalgorithmeestde:

12

Oa1g+Oalog

2 angg+Oa1g=Oalog 2 angg=Oalogangg.

2.4Complex itŽdesalgorithmesrŽcursifs

Lacomp lexitŽdÕunalgorithmerŽcurs ifsefaitparla rŽsolutiondÕuneŽquationderŽ- currenceenŽliminantl arŽcu rrenceparsubstitutiondepr ocheen proche.

Exemple

Soitlafonction rŽcursiv esuivante:

FonctionFactan:entierg:entier;

DŽbut

Sian<=1 [Oa1g]gAlors

FactB1[Oa1g]

Sinon

FactBneF acta n-1g[Oa1g]

FinSi;

Fin; PosonsTangletemps dÕexŽcutionnŽcess airepourunappelˆFactang,Tangest le maximumentre:

Ðlacompl exitŽdutestnn1quiestenOa1g,

Ðlacompl exitŽde:FactB1qu iestaussien Oa1g,

Ðlacompl exitŽde:FactBneFactan-1gdontletempsd Õex Žcutiond ŽpenddeTan 1g apourlecalculdeFa ctan-1g g

Onpeutd oncŽcrirequ 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ÕopŽratio neentre netle rŽsulta tdeFactan 1g, 13 eetl etempsd elÕaBectationÞnaleaFactB...g Tan 1galetempsnŽces sairepourleca lculdeFactan 1gseracalculŽa rŽcursivementg aveclammed Žcomposi tion.Pou rcalculerlasolutiongŽnŽraledecetteŽquation, onpeut procŽderparsubstitut 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 omplexitŽalgo rit hmique

1.Tang=Oa1g,tem psconstant:t empsdÕexŽcutionindŽpenda ntd elatailledesdonn Žes

ˆtr aiter.

2.Tang=Oalogangg,tem pslogarithm ique:onrencontregŽnŽralementunetellecom-

3.Tang=Oang,tem pslinŽaire:cet tecomplexitŽestgŽnŽralemen tob tenuelorsq uÕun

travailentempsconstantest e B ectuŽsurcha quedonnŽe enentrŽe.

5.Tang=Oan

2 g,t empsquadratiq ue:appara"tnotammentlorsquelÕalgo rit hmeenvi- sagetouteslesp airesdedonnŽespar milesnen trŽesaex.deuxboucles imbriq uŽesg

Remarque:Oan

3 gtempscubique

6.Tang=Oa2

n g,t empsexponentiel :souventlerŽsultatderechercheb rut aledÕune solution. 14

2.6Exercic es

1.CalculerlacomplexitŽ delÕal gorithmesuivant:

Pouride2ˆnfaire

kBi-1; xBT[i];

TantqueaT[k]>xetk >0 gfaire

T[k+1]BT[k];

kBk-1;

FinTQ;

T[k+1]Bx;

FinPour ;

2.Calculerlacomplexit ŽdelÕa lgorithmesuivant:

iBn; SB0;

Tantqueai>0gfaire

jB2ei;

Tantqueaj>1gfaire

SBS+aj-igeaS+1g;

jBj-1;

FinTQ;

iBidiv2;

FinTQ;

15

3.CalculerlacomplexitŽ delÕal gorithmesuivant:

iB1; jB0;

Pourkde1ˆnfaire

jBi+j; iBj-i;

FinPour ;

Quefaitcetal gorithmes ach antquelerŽsultatestdansj?

4.CalculerlacomplexitŽ delafon ctionrŽcursivesuivante:

FonctionFiban:entierg:entier;

DŽbut

Sian<2gAlors

FibB1;

Sinon

FibBFiban-1g+Fiban- 2g;

FinSi;

Fin; 16

5.CalculerlacomplexitŽ delÕal gorithmesuivant:

PB1;

PourIde1ˆnfaire

JB1; KB1;

TantqueaKnngfaire

PBPeaK+Jg;

KBK+1;

SiaK>ngAlors

JBJ+1;

SiaJ>ngAlors

KB1

FinSi;

FinSi;

FinTQ;

FinPour ;

6.Calculerlacomplexit ŽdelÕa lgorithmesuivant:

iB1;

Tantqueai jB1;

Tantqueaj<2engfaire

jBje2;

FinTQ;

iBi+1;

FinTQ;

17

7.TrouverlacomplexitŽde lafonct ionsuivante:

quotesdbs_dbs45.pdfusesText_45

[PDF] algorithme de dijkstra exercice corrigé PDF Cours,Exercices ,Examens

[PDF] algorithme de ford plus long chemin PDF Cours,Exercices ,Examens

[PDF] Algorithme de héron Terminale Mathématiques

[PDF] Algorithme de mathématiques 2nde Mathématiques

[PDF] Algorithme de maths 1ère Mathématiques

[PDF] Algorithme de maths 2nde Mathématiques

[PDF] Algorithme de mesure d'angle 1ère Mathématiques

[PDF] Algorithme de niveau Seconde 2nde Mathématiques

[PDF] algorithme de parcours en largeur PDF Cours,Exercices ,Examens

[PDF] algorithme de parcours en profondeur en c PDF Cours,Exercices ,Examens

[PDF] ALGORITHME DE PILE OU FACE svp essayer de me faire comprendre cette algorithme 2nde Mathématiques

[PDF] Algorithme de Pythagore 2nde Mathématiques

[PDF] ALGORITHME DE PYTHAGORE ( TI-84 plus ) 2nde Mathématiques

[PDF] algorithme de recherche dextremum 2nde Mathématiques

[PDF] algorithme de recherche dans un tableau PDF Cours,Exercices ,Examens