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





Previous PDF Next PDF



Exercices avec Solutions

Exercices Corrigés d'Algorithmique – 1ére Année MI 15. EXERCICE 1. Ecrire les actions paramétrées (procédure ou fonction) permettant de résoudre les 



Exercices corrigés

Les scripts du cours. Cours no 1 : « Premiers pas en Python ». 1. Cette procédure affiche les valeurs de fonction de borneInf à borneSup



Langage C : énoncé et corrigé des exercices IUP GéniE

Exercice 1 1 Ecrire un progra mm e dans l e q ue l vous : 1. Déc l arere z un entier i et un pointeur vers un entier p



livre-algorithmes EXo7.pdf

Mini-exercices. 1. Pour un entier n fixé combien y-a-t-il d'occurrences du chiffre 1 dans l'écriture des nombres de 1 à n ? 2. Écrire une fonction qui 



Cours dAlgorithmique et structures de données 1

29 janv. 2012 gramme qui a f(n) comme fonction de croissance du temps d'exécution. 2.3 Règles de calcul de la complexité d'un algorithme. 2.3.1 La ...



cours-python.pdf

22 mars 2018 2.11 Exercices . ... Le cours est disponible en version HTML 2 et PDF 3. ... L'algorithme utilisé au sein de la fonction n'intéresse pas ...



Cours SGBD 1 Concepts et langages des Bases de Données

IUT de Nice - Cours SGBD1. 12. Pour résumer : Les fonctions des SGBD. •. DEFINITION DES DONNEES. ? Langage de définition des données (DDL).



Partie I : Questions de cours ( 2pts) Partie II : Exercices

Examen de synthèse 3) Définissez la notion de procédure en algorithmique et donnez un exemple ? ... Exercice 1 : Dérouler ces deux algorithmes (1pt+1pt).



ALGORITHME SECONDE Exercice 5.1 Ecrire un algorithme qui

Exercice 5.1. Ecrire un algorithme qui demande à l'utilisateur un nombre compris entre 1 et 3 jusqu'à ce que la réponse convienne. corrigé - retour au cours.



Cours PHP Accéléré

12 juil. 2022 Langage Hack proposé par Facebook. 4.1.2 Spécialisé dans la génération de texte ou de documents. — HTML. — PDF. — Images.

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 1gquotesdbs_dbs46.pdfusesText_46

[PDF] algorithme programmation PDF Cours,Exercices ,Examens

[PDF] algorithme programmation exercices corrigés PDF Cours,Exercices ,Examens

[PDF] algorithme python PDF Cours,Exercices ,Examens

[PDF] Algorithme python: liste chainée Bac 2 Informatique

[PDF] algorithme qui calcule le pgcd de deux entiers PDF Cours,Exercices ,Examens

[PDF] Algorithme qui convertie les heures en jour et en heure 2nde Mathématiques

[PDF] algorithme qui rend la monnaie PDF Cours,Exercices ,Examens

[PDF] Algorithme qui résout un système 2nde Mathématiques

[PDF] algorithme racine carrée dichotomie PDF Cours,Exercices ,Examens

[PDF] algorithme recherche chaine caractere PDF Cours,Exercices ,Examens

[PDF] algorithme rendu de monnaie PDF Cours,Exercices ,Examens

[PDF] algorithme rendu de monnaie c# PDF Cours,Exercices ,Examens

[PDF] algorithme rendu de monnaie python PDF Cours,Exercices ,Examens

[PDF] algorithme résolution équation second degré complexe PDF Cours,Exercices ,Examens

[PDF] algorithme robot suiveur de ligne PDF Cours,Exercices ,Examens