Documente Academic
Documente Profesional
Documente Cultură
elaborare a algoritmilor
Conf. dr. Smaranda Belciug
sbelciug@inf.ucv.ro
Privire de ansamblu asupra cursului
Ce vom studia la acest curs?
Programare si rezolvare de probleme, cu aplicatii
...
3
De ce sa studiem algoritmi?
Radacini vechi.. oportunitati noi..
Euclid
Romanii
Caterina de Medici
Turing
4
De ce sa studiem algoritmi?
Pentru stimularea intelectuala
5
De ce sa studiem algoritmi?
“I will, in fact, claim that the difference between a bad
6
De ce sa studiem algoritmi?
Sa descoperi secretele vietii si ale universului..
7
Cursurile
Slide-uri
Gadget-uri.. nu sunt permise!
NU NU NU
8
Examen
50% - laborator > 5!!!!
50% - examen scris >5!!!!
9
Pasi pentru dezvoltarea unui algoritm
Modeleaza problema.
10
Analiza algoritmilor
Introducere
Modele matematice
Timp de rulare
11
Personaje
Programator: trebuie sa gaseasca o solutie
12
Motive pentru care analizam algoritmii
Prognoza performantei
Compararea algoritmilor
13
Cateva succese
Transformata discreta Fourier
Brute force:
FFT:
14
Provocarea
Va face fata algoritmul meu unui input foarte mare?
15
Modele matematice
Timpul total de rulare: suma costului x frecventa operatiilor
16
Se estimeaza timpul de rulare sau memoria ca o functie cu
input N
17
Operatie Frecventa Notatie
Declarare variabila N+2 ~N
Asignare N+2 ~N
<, > ½(N+1)(N+2) ~ ½ N^2
== ½ N(N-1) ~ ½ N^2
Accesare elemente array N(N-1) ~ N^2
18
19
20
Cum estimam o suma discreta, daca nu reusim cu integrale?
21
Compararea algoritmilor
Definitie. Daca pentru o constanta
atunci ordinul de crestere a lui este
22
23
Teoria algoritmilor
Scop.
Abordare
24
Notatii in teoria algoritmilor
25
Caracteristicile unui algoritm
Caracter finit. Un algoritm trebuie întotdeauna să se termine după un număr finit de
pași.
Este definit. Fiecare pas al unui algoritm trebuie definit cu precizie; acțiunile ce
urmează a fi întreprinse trebuie specificate riguros și fără ambiguități pentru fiecare caz
posibil.
Intrare. Un algoritm are zero sau mai multe intrări (inputs) – cantități care îi sunt date
Ieșire. Un algoritm are una sau mai multe ieșiri (outputs) – cantități ce au o anumită
Eficiență.
26
Pe saptamana viitoare!
27