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





Previous PDF Next PDF



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 ...

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

quotesdbs_dbs46.pdfusesText_46

[PDF] algorithme point sur une courbe 2nde Mathématiques

[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