Manual Grafuri

Curs
9/10 (3 voturi)
Conține 1 fișier: doc
Pagini : 114 în total
Cuvinte : 30513
Mărime: 337.68KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Cozac Ioan
Aceasta lucrare cuprinde o selectie de probleme importante care pot fi rezolvate cu ajutorul teoriei grafurilor. În acest scop am enuntat probleme teoretice împreuna cu aplicatii practice ale acestora, urmate de descrieri ale unor metode de rezolvare.

Extras din curs

1. Preliminarii

1.1. Algoritmi

Toti algoritmii descrisi în cadrul acestei lucrari folosesc structuri de date de tip graf. Unele descrieri sînt însotite de o analiza a complexitatii algoritmului respectiv. Pentru ca analiza sa poata fi urmarita mai usor de cititor, în cadrul acestei sectiuni sînt prezentate notiuni de baza.

Definitia 1.1. Un algoritm este un set de instructiuni care trebuie executate pentru a se obtine un raspuns la o problema data.

Un algoritm are urmatoarele proprietati (Knuth) (Burdescu, p 10):

 finitudine: trebuie sa se termine întotdeauna dupa un numar finit de pasi (instructiuni);

 determinism: fiecare pas trebuie sa fie exact precizat, în mod riguros si neambiguu;

 generalitate: trebuie sa rezolve problema pentru orice date de intrare din domeniul precizat;

 efectivitate: fiecare instructiune trebuie sa fie exacta si de durata finita.

Ultima proprietate trebuie nuantata, avînd în vedere faptul ca memoria oricarui calculator este limitata. Nu întotdeauna operatiile aritmetice se efectueaza exact, în unele cazuri obtinîndu-se o aproximare a rezultatelor, cum sînt de exemplu implementarile bazate pe aritmetica în virgula mobila (Goldberg).

În cadrul acestei lucrari algoritmii sînt descrisi într-un limbaj de tip Algol, un precursor al limbajului Pascal (cf Aho et al).

Avînd un algoritm care rezolva o problema data, urmeaza sa determinam resursele acestuia. Concret, de cîta memorie si timp avem nevoie ca sa obtinem solutia problemei? În acest scop facem urmatoarele simplificari: fiecare operatie elementara a algoritmului se executa într-o unitate de timp, informatiile despre un obiect elementar se memoreaza într-o locatie de memorie (Livovschi, Georgescu).

Fie f : N ® N o functie care indica relatia dintre numarul de valori (date de intrare) prelucrate de un algoritm, si numarul de operatii elementare efectuate de acesta pentru obtinerea rezultatelor. Functia f poate avea o expresie analitica destul de complicata, de aceea consideram înca o functie g : N ® N cu o expresie analitica simplificata.

Definitia 1.2. Functia f are ordinul de marime cel mult g(n), notatie: f Î O(g(n)), daca si numai daca exista doua valori, c > 0 si n0 Î N astfel încît pentru orice n > n0 sa avem f(n) £ c g(n).

O(g) = { h : N ® N | c > 0, n0 Î N a. î. n > n0, h(n) £ c g(n) }.

Definitia 1.3. Functia f are ordinul de marime cel putin g(n), notatie: f Î W(g(n)), daca si numai daca exista doua valori, c > 0 si n0 Î N astfel încît pentru orice n > n0 sa avem f(n) ³ c g(n).

W(g) = { h : N ® N | c > 0, n0 Î N a. î. n > n0, h(n) ³ c g(n) }.

Definitia 1.4. Functia f are ordinul de marime g(n), notatie: f Î q(g(n)), daca si numai daca exista trei valori, c1, c2 > 0 si n0 Î N astfel încît pentru orice n > n0 sa avem c1 g(n) £ f(n) £ c2 g(n).

q(g) = { h : N ® N | c1, c2 > 0, n0 Î N a. î. n > n0,

c1 g(n) £ h(n) £ c2 g(n) }.

Prezentam doua rezultate remarcabile care vor fi folosite pe parcursul lucrarii (Knuth):

(1) Se da un sir de n valori dintr-un domeniu pe care este definita o relatie de ordine totala. Cel mai eficient algoritm de ordonare a sirului dat, care se bazeaza pe comparatii, are complexitate de ordin W(n log n).

(2) Se da un sir de n valori ordonate. Cautarea unei valori (localizarea pozitiei acesteia sau obtinerea unui raspuns negativ) în sirul dat necesita un timp de ordin O(log n).

Preview document

Manual Grafuri - Pagina 1
Manual Grafuri - Pagina 2
Manual Grafuri - Pagina 3
Manual Grafuri - Pagina 4
Manual Grafuri - Pagina 5
Manual Grafuri - Pagina 6
Manual Grafuri - Pagina 7
Manual Grafuri - Pagina 8
Manual Grafuri - Pagina 9
Manual Grafuri - Pagina 10
Manual Grafuri - Pagina 11
Manual Grafuri - Pagina 12
Manual Grafuri - Pagina 13
Manual Grafuri - Pagina 14
Manual Grafuri - Pagina 15
Manual Grafuri - Pagina 16
Manual Grafuri - Pagina 17
Manual Grafuri - Pagina 18
Manual Grafuri - Pagina 19
Manual Grafuri - Pagina 20
Manual Grafuri - Pagina 21
Manual Grafuri - Pagina 22
Manual Grafuri - Pagina 23
Manual Grafuri - Pagina 24
Manual Grafuri - Pagina 25
Manual Grafuri - Pagina 26
Manual Grafuri - Pagina 27
Manual Grafuri - Pagina 28
Manual Grafuri - Pagina 29
Manual Grafuri - Pagina 30
Manual Grafuri - Pagina 31
Manual Grafuri - Pagina 32
Manual Grafuri - Pagina 33
Manual Grafuri - Pagina 34
Manual Grafuri - Pagina 35
Manual Grafuri - Pagina 36
Manual Grafuri - Pagina 37
Manual Grafuri - Pagina 38
Manual Grafuri - Pagina 39
Manual Grafuri - Pagina 40
Manual Grafuri - Pagina 41
Manual Grafuri - Pagina 42
Manual Grafuri - Pagina 43
Manual Grafuri - Pagina 44
Manual Grafuri - Pagina 45
Manual Grafuri - Pagina 46
Manual Grafuri - Pagina 47
Manual Grafuri - Pagina 48
Manual Grafuri - Pagina 49
Manual Grafuri - Pagina 50
Manual Grafuri - Pagina 51
Manual Grafuri - Pagina 52
Manual Grafuri - Pagina 53
Manual Grafuri - Pagina 54
Manual Grafuri - Pagina 55
Manual Grafuri - Pagina 56
Manual Grafuri - Pagina 57

Conținut arhivă zip

  • Manual Grafuri.doc

Alții au mai descărcat și

Grafuri Celebre

1. Introducere Numeroase situatii din viata cotidiana pot fi modelate cu ajutorul teoriei grafurilor. Teoria grafurilor este o importanta...

Grafuri

In informatica grafurile pot fi: neorientate si orientate.Un graf neorientat G este o pereche ordonata de multimi (X,U),unde X este o multime...

Curs HTML

Internetul a fost descris ca „o colectie larga de retele“ sau ca o „retea de retele“. Desi ambele definitii sînt corecte, nici una nu surprinde...

Visual C++

Dupa cum multi dintre noi cunosc ,atomul este format din particule materiale si anume un nucleu incarcat electric pozitiv si mai multi electroni...

Programare în Java Script

Java - Sectiunea 3 Reducerea efectului de palpaire la crearea animatiilor Efectul suparator de palpaire a imaginii in cazul animatiilor, se poate...

Structuri de Date și Algoritmi

Arbori Binari Optimi Despre arbori binari optimi putem vorbi atunci cand, pentru fiecare dintre cheile unui arbore binar ordonat cunoastem...

Curs C++

Limbajele C si C++ sunt limbaje de programare de nivel înalt. Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în...

Grafică pe calculator

Computer Graphics Cristian Rusu Office 3-8 cristian.rusu@ucv.cl What will be? It will not be an ENGLISH course! ENGLISH will be an...

Te-ar putea interesa și

Memorii Interne și Externe

Argument Un calculator personal este un sistem electronic programabil de prelucrere a datelor proiectat pentru a fi folosit de un singur...

Implementarea Algoritumului Dijkstra pentru Calcularea Drumului Optim Folosind Java

1. Introducere 1.1 Ce este un algoritm?Tipuri de algoritmi folositi pentru calcularea drumului optim Scurt istoric: “Originile teoriei...

Memorii

1. Notiuni introductive Industria memoriilor este una dintre cele mai dinamice aplicatii ale electronicii din zilele noastre. In ultimi ani...

Grafuri

Cap.I Retele de transport I.1. Flux într-o retea de transport, definitii Definitie Se numeste „ retea de transport ” un graf finit fara bucla,...

Transmisii de date asincrone

1. Noţiuni de bază. Definiţii Definiţie: Prin comunicaţie de date se înţelege schimbul de informaţie numerică codificată între două DTE. Trebuie...

Teoria Producției Alimentare

TEORIA PRODUCŢIEI ALIMENTARE Într-un concept managerial, realizarea producţiei agroalimentare, sporirea ei continuă, reducerea cheltuielilor pe...

Ai nevoie de altceva?