Tehnici de programare

Similar documents
3. CPU 3.1. Setul de regiştri. Copyright Paul GASNER

Aplicatii ale programarii grafice in experimentele de FIZICĂ

VISUAL FOX PRO VIDEOFORMATE ŞI RAPOARTE. Se deschide proiectul Documents->Forms->Form Wizard->One-to-many Form Wizard

Parcurgerea arborilor binari şi aplicaţii

FIŞA DISCIPLINEI. 3.4 Total ore studiu individual Total ore pe semestru Număr de credite 5. Nu este cazul

Modalităţi de redare a conţinutului 3D prin intermediul unui proiector BenQ:

Sisteme de recunoaştere a formelor Lab 10 Clasificatori liniari şi algoritmul perceptron

Ghid de instalare pentru program NPD RO

Un tip de data este caracterizat de: o O mulţime de date (valori є domeniului) o O mulţime de operaţii o Un identificator.

GRAFURI NEORIENTATE. 1. Notiunea de graf neorientat

22METS. 2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

SUBIECTE CONCURS ADMITERE TEST GRILĂ DE VERIFICARE A CUNOŞTINŢELOR FILIERA DIRECTĂ VARIANTA 1

Capitolul 1. Noţiuni de bază

Optimizarea structurii de producție a unei ferme vegetale amplasată în Regiunea de Dezvoltare Sud-Muntenia a României


FIŞA DISCIPLINEI. - Examinări 4 Alte activităţi. 3.7 Total ore studiu individual Total ore pe semestru Număr de credite 5

Sisteme de recunoaşterea formelor Lab 1 Metoda celor mai mici pătrate

JOURNAL OF ROMANIAN LITERARY STUDIES DO ASSERTIONS, QUESTIONS OR WISHES MAKE A THICK TRANSLATION?

Jean Mouton. (before ) Quis dabit oculis? This edition prepared for The Tallis Scholars. Gimell

Algoritmică şi programare Laborator 3

FIŞA DISCIPLINEI1 1. Date despre program 2. Date despre disciplină 3. Timpul total estimat 3.7 Total ore studiu individual

Application form for the 2015/2016 auditions for THE EUROPEAN UNION YOUTH ORCHESTRA (EUYO)

Split Screen Specifications

On the Common Goods. Dr. Gregory Froelich

Gândirea algoritmică - o filosofie modernă a matematicii şi informaticii

Finding List by Question by State

Curriculum vitae Europass

2017 Pocket Planners

Pasul 2. Desaturaţi imaginea. image>adjustments>desaturate sau Ctrl+Shift+I

1. Ecuaţii diferenţiale de ordinul întâi

DIRECTIVA HABITATE Prezentare generală. Directiva 92/43 a CE din 21 Mai 1992

6. MPEG2. Prezentare. Cerinţe principale:

Joel Martinson (Choral score) Selah Publishing Co., Inc. Hn. J œ œ œ œ œ œ. j œ. 8 5 Choir: (Women or Men) for review only. ni- mi- pax.

Finding List by Question by State *

45 Hz to 500 Hz 1.0% Hz to 1 khz 2.0% + 3. Accuracy 0.09% + 2. Range / resolution. Range / resolution. Accuracy 1% + 2

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS General Certificate of Education Ordinary Level. Paper 1 October/November hours 30 minutes

ANEXA NR. 1. Caracteristicile tehnice ale interfeţelor echipamentelor. Exemplu schema de interconectare TRONSON XX: A A1 A2 A3 - B STM-4 A2 A3 STM-1

EE260: Digital Design, Spring /3/18. n Combinational Logic: n Output depends only on current input. n Require cascading of many structures

SYMBOL CONVERSION LONG-TERM EQUITY OPTIONS EXPIRING IN JANUARY AND MARCH 2007

Study newsletter. Phrase of the week week 20

Please note that not all pages are included. This is purposely done in order to protect our property and the work of our esteemed composers.

TRANSMISIUNI DE DATE ÎN BANDA DE BAZĂ ŞI PRIN MODULAREA UNUI PURTĂTOR

NKPZ.E Motor Controllers, Float- and Pressure-operated. Motor Controllers, Float- and Pressure-operated

Laborator 5 - Statistică inferenţială

Content Language level Page

Ordering data. Type Inputs Outputs Dimming switch Motion sensor DSI signal2 Digital control line DSI Control output per physical output (devices)

Read Only Memory (ROM)

ZOOLOGY AND IDIOMATIC EXPRESSIONS

Phase Equilibria, Crystallographic and Thermodynamic Data of Binary Alloys

Logistics We are here. If you cannot login to MarkUs, me your UTORID and name.

Split Screen Specifications

TEMATICA pentru proba de Engleză din cadrul concursului de admitere în Academia Tehnică Militară sesiunea iulie 2011

Laboratorul 1. Primii paşi în Visual Basic.NET

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Durable Ultra-tec SS Cable CLEAN, MINIMAL, TRANSPARENT americanstructures.com

LESSON FOURTEEN

TEMA 1 CONSIDERAŢII PRIVIND MODELAREA ŞI SIMULAREA PROCESELOR ECONOMICE

Click pe More options sub simbolul telefon (în centru spre stânga) dacă sistemul nu a fost deja configurat.

Informatică. Programa pentru. examenul de definitivare în învăţământ obţinerea gradului didactic II. Tematica pentru

LEARN FRENCH BY PODCAST

Metoda celor mai mici pătrate cu Matlab

The Game Is Afoot D O U G B E A C H M U S I C P R E S E N T S FOR. style: swing difficulty level: very easy duration 4:36

MULTIS LMp / LMg. Systèmes de Coupure et de Protection Switching and Protection Systems

Consideraţii statistice Software statistic

NCC Cable System Order

CERCETARE ŞTIINŢIFICĂ,

Digital Lock-In Amplifiers SR850 DSP lock-in amplifier with graphical display

Midnight Silence. composed for the 100th Anniversary of the Christmas Vigil Mass, The Summit Country Day School, Cincinnati, Ohio

FIŞA DISCIPLINEI 1. Informatică / L / Informatician. Conf. dr. ing. DRĂGAN FLORIN

în perioada 1 7 decembrie 2017, urmatoarele filme :

Manuscript template: full title must be in sentence case

INTELIGENŢĂ ARTIFICIALĂ

CRIZA, CONFLICTUL, RĂZBOIUL

SISTEM NUMERIC PENTRU STUDIUL SENZORILOR REZISTIVI DE DEPLASARE NUMERICAL SYSTEM FOR RESISTIVE DISPLACEMENT SENSORS STUDY

Metode de căutare neinformată şi informată

OPTIMIZAREA GRADULUI DE ÎNCĂRCARE AL UTILAJELOR DE FABRICAŢIE OPTIMIZING THE MANUFACTURING EQUIPMENTS LOAD FACTOR

PREZENTARE INTERFAŢĂ MICROSOFT EXCEL 2007

COHU, INC. Elec tron ics Di vi sion In stal la tion and Op era tion In struc tions

Press review. Monitorizare presa. Programul de responsabilitate sociala. Lumea ta? Curata! TIMISOARA Page1

ICM Digit µp Compatible LED Display Decoder Driver. Features. Description. Applications. Ordering Information.

Sisteme informatice

Autonet Service Manager

ICM7228AIPI Sequential Common Anode -40 to Ld PDIP E28.6. ICM7228BIPI Sequential Common Cathode -40 to Ld PDIP E28.6

Description. ICM7228AIPI Sequential Common Anode -40 to Ld PDIP E28.6. ICM7228BIPI Sequential Common Cathode -40 to Ld PDIP E28.

LEARN FRENCH BY PODCAST

Olly Richards. I Will Teach You A Language COPYRIGHT 2016 OLLY RICHARDS ALL RIGHTS RESERVED

'<.ue ec uu TRANSCRIPTION

VISUALIZED DIGITAL TIMER

FIŞA DISCIPLINEI. 2.7 Regimul disciplinei. Examen. Obligatoriu

KACO-display. Wireless Solar Monitoring System. Operating Instructions KACO-display. full of energy...

TECHNICAL BULLETIN INTRODUCTION. Bad Boy Luminaire Baseplate Retrofit. Parts, Tools, and Supplies

2ca - Compose and perform melodic songs. 2cd Create accompaniments for tunes 2ce - Use drones as accompaniments.

the canary sang but couldnt fly the fatal fall of abe reles the mobster who shattered murder inc s code of silence

CUSTOM-LENGTH PATCH CABLES CUT-TO-LENGTH BULK FIBER PRE-TERMINATED FIBER MULTI-COLORED FIBER

PROBLEME DE TEORIA NUMERELOR LA CONCURSURI ŞI OLIMPIADE

declarare var <identif>:array[<tip1>,<tip2>,...] of <tip_e>; var a: array[1..20] of integer; (vector cu 20 elemente)

Paradoxuri matematice 1

2017 Tentative Roster

You Don't Speak for Me Lyrics and Melody by: Judy Small arranged with permission by the songwriter by: Jenny Callanan and Sarah Lambert

Programarea calculatoarelor CURS 1

Transcription:

Tehici de programare 2016 ovidiu.baias@aut.upt.ro

Scurtă prezetare Curs 14 săptămâi Test 1 săptămâa 7 Proiect săptămâa 13 Lucrări practice 14 săptămâi Test 2 săptămâa 14 Grilă sesiue

Tehici de programare Aaliza algoritmilor Backtrackig Stiva Poiteri. Lucru pe biți Recursivitate Divide at Impera Programare diamică Greedy

Bibliograie selectivă Tudor Sori, Tehici de programare, Teora, 1995 Corme T.H., Leiserso C.E., Rivest R.R., Itroducere î algoritmi, Agora, 2000 Ivaşc C., Pruă M., Bazele iormaticii, Petrio, 1995 Ataasiu. A, Pitea R., Culegere de probleme pascal, Petrio, 1996 Maz. D, et. al., Iormatica. Culegere de probleme rezolvate şi propuse, Mirto, 2005 Ioescu C., et. al., Iormatica petru grupele de perormaţă, Dacia Educaţioal, 2004 Ciocârlie H., Ciocârlie R., Tehici de programare şi structuri de date, Eurostampa, 2010 http://ocw.mit.edu/courses/electrical-egieerig-ad-computer-sciece/6-00sc-itroductio-to-computer-sciece-ad-programmig-sprig-2011/ http://videolectures.et/mit6046j05_itroductio_algorithms/ https://class.coursera.org/algo-004/lecture

Pricipii geerale. Pași implemetare Aaliză Proiectare Implemetare Îțelegerea corectă a ceriței problemei Veriicarea costrâgerilor timp de execuţie, memorie,... Î ucţie de timpul alocat rezolvării problemei Scriere cod Depaare Testare

Pricipii geerale.idetare/notaţii cod/cometare Idetare K&R, KNF, GNU Notații cod Camel Case / Hugaria Cometare

Stil de programare

Aaliza algoritmilor Problemă Se dă o listă de elemete, A[1..] și u elemet auxiliar x. Să se găsească idexul i, cu proprietatea că A[i]x, 1 i. exemple 2 metode

Căutare liiară Algoritm: LINEARSEARCH Iput: vector A[1..] de elemete și u elemet x. Output: i dacă x A[i], 1 i, și 0 î caz cotrar. câte comparații miim? câte comparații maxim?

Căutare liiară Algoritm: LINEARSEARCH Iput: vector A[1..] de elemete și u elemet x. 1. i 1 Output: i dacă x A[i], 1 i, și 0 î caz cotrar. 2. while i < ad x A[i] câte comparații miim? 3. i i+1 câte comparații maxim? 4. ed while 5. i x A[i] the retur i else retur 0

Căutare biară Algoritm: BINARYSEARCH Iput: vector A[1..] de elemete sortate crescător și elemetul x Output: i dacă x A[i], 1 i, și 0 î caz cotrar. Observație: ie liși l doi idecși ai vectorului A[1..], reprezetâd limita iițială și respectiv limita superioară a uui subvector A[li..l]. Se observă că: A[li] A[li+l/2] A[l] Rezolvare: la iecare pas se va împărți itervalul î jumătate și elemetul x se va căuta î doar uul di cele două itervale de idecși A[li..li+l/2] şi A[li+l/2+1..l], î ucție de valoarea A[li+l/2]. câte comparații miim? câte comparații maxim?

Căutare biară Algoritm: BINARYSEARCH exempliicare elemet căutat x37 Idex i 1 2 3 4 5 6 7 8 9 10 A[1..10] 3 7 12 21 25 26 27 29 37 39 li1, l10 pas 1: k[li+l/2] 5 pas 2: se obți 2 itervale [1..5] și [6..10] pas 3: pt. că A[k]25 < 37 se alege itervalul A[6..10] pas 4: li6, l10, repeta pasul 1 pâă lil sau A[k]x

Căutare biară Algoritm: BINARYSEARCH exempliicare elemet căutat x37 Idex i 6 7 8 9 10 A[6..10] 26 27 29 37 39 k8, A[k]29<37 A[8..10] Idex i 6 7 8 9 10 A[8..10] 26 27 29 37 39 k9, A[k]37 OK http://www.ioarea.ro/blog/cautare-biara

Căutare biară Algoritm: BINARYSEARCH pseudocod 1. li 1; l ; 2. while li l 3. k [li + l / 2] 4. i x A[k] the retur 1 5. else i x < A[k] the l k-1 6. else li k+1 7. ed while 8. retur 0 după iecare pas i, umărul de elemete se îjumătăţeşte: pas i elemete i 2 la ultimul pas, 1 i log 2 1 + 1 2 1 i

Notații asimptotice Ο limita sperioară Θ limita ierioară limita superioară Ω limita ierioară

Notații asimptotice - O Deiiție:., a.î.. şi dacă lui complexitatea spuem că :, ie 0 0 cg cost c Ν g O R g ot Ν., 12 a.î. 1şi că pt., complex. 12 1 2, 10 2 Fie 0 0 3 3 2 3 cg c O ot + +

Notații asimptotice - O., a.î.. şi dacă lui, complexitatea :, 0 0 cg cost c Ν g g O R g ot ot Ν

Notații asimptotice clasiicare algoritmi Ο 1 costat Olog logaritmic O liiar O log supraliiar O 2 patratic O c poliomial O c expoetial O! actorial c - costată

Ordiul/rata de creştere a uui algoritm timpul de execuţie a uui algoritm este o ucţie de dimesiuea datelor de itrare și de complexitatea algoritmului Rata de creştere timp ms 100 90 80 70 60 50 40 30 20 10 log c log c^2 c^3 + 3 2 0 0 5 10 15 20 25 30 date de itrare log + + 3 cu cât creşte cu atât scade importaţa termeilor de grad ierior

Ordiul/rata de creştere a uui algoritm log log O O O O O O 2 3 2 2 7 128 0.007µs 0.128µs 0.89µs 16µs 2ms 31 10 ai 2 8 256 0.008µs 0.256µs 2µs 65µs 16ms 69 10 ai 2 10 1024 0.01µs 1µs 10µs 1ms 1sec 300 10 ai 2 12 4096 0.012µs 4µs 49µs 16ms 68sec 1221 10 ai 20 2 0.02µs 1ms 20ms 18.3mi 37ai 314565 10 ai Operaţii elemetare: i aduare, scadere, îmulţire şi împărţire ii comparaţii şi operatori logici iii atribuiri

Notații asimptotice - Θ Ω, Deiiție: R g Ν :, ie., a.î.. cost şi dacă 0 0 cg c Ν g ot Ω., cost. a.î., şi dacă 2 1 0 2 1 0 g c g c c c Ν g ot Θ

Complexitate P/NP/NP-complet Algoritmi determiistici NP Algoritmi odetermiistici P P Poliomial NP Nodetermiistic Poliomial NP complet NP-complet P NP

Rezumat. Aaliza algoritmilor Căutare liiară vs. Căutare biară Notații asimptotice - O Ordiul/rata de creștere a uui algoritm Tipuri de algoritmi