Algoritmi

Laborator
6/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: pdf
Pagini : 5 în total
Cuvinte : 1709
Mărime: 9.86KB (arhivat)
Publicat de: Aida Petcu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Andrei Grigoras
Facultatea de informatica , Iasi .Despre arbori optimi de cautare si algorimi de cautare. Laborator 4

Extras din laborator

Definitii:

Algoritm: o procedura de calcul bine definita care primeste la intrare o multime

de valori (input) si produce la iesire un alt set de valori (output).

Instantele unei probleme: multimea tuturor intrarilor din care se poate calcula

o solutie pentru problema

Corectitudine: un alg e corect daca pt fiecare instanta el furnizeaza

rezultatele corecte (rezolva problema).

Analiza unui algoritm: identificarea resurselor necesare (timp calcul, memorie,

latime banda de comunicare, etc.)

Modelul tehnologiei pe care se implementeaza alg: un procesor cu memorie RAM,

multiprocesor cu memorie partajata, fiecare avand proprii algoritmi.

Instrumente matematice de analiza a alg:

analiza combinatorica discreta, teoria probabilitatii, identificarea

termenilor cei mai semnificanti dintr-o formula

Cazuri de analiza: cel mai bun (favorabil), cel mai rau (defavorabil), caz mediu

de complexitate

Eficienta asimptotica a alg: determinarea gradului de crestere

Notatii asimptotice:

- Complexitatea unui algoritm este o functie bine definita.

- De obicei ne intereseaza doar gradul de crestere al acesteia, deoarece

el influenteaza cel mai mult pentru o instanta a problemei de

dimensiune mare.

- Fie f(n) functia de complexitate a unui algoritm.

- Se numesc functii asimptotice pozitive functiile f(n) care au valoare

pozitiva pt orice n suficient de mare.

- Notatiile asimtotice urmatoare folosesc doar functii asimtotice

pozitive.

Notatie asimptotica limitata strans la ambele capete: Q()

Q(f(n)) = {g(n) | exista c1>0, c2>0, n0>0 ai

0<=c1*f(n)<=g(n)<=c2*f(n) pt orice n>n0 }

fie g(n) = 1/2n^2 - 3n

Atunci pt a arata ca g(n) apartine Q(f(n)), adica notam ca

g(n)=Q(f(n)), tre sa gasim constantele pozitive c1,c2,n0 astfel

incat 0<=c1*f(n)<=g(n)<=c2*f(n) pt orice n>n0.

Aratam ca g(n)=Q(n^2). Din calcule, rezulta ca pt n0=7, avem c1=1/14

si c2=1/2

Notatie asimptotica limitata strans superior: O()

O(f(n)) = {g(n) | exista c>0 si n0>0 ai

0<=g(n)<=c*f(n) pt orice n>n0}

Notam ca o functie g(n) aprtine lu O(f(n)) prin g(n)=O(f(n))

O(f(n)) reprezinta timpu de rulare al unui algoritm pt cazu cel mai

defavorabil. De exemplu pt sortarea prin insertie, pentru cazul cel

mai favorabil avem timpu de rulare O(n).

Notatie asimptotica limitata strans inferior: W()

W(f(n)) = {g(n) | exista c>0 si n0>0 ai

0<=c*f(n)<=g(n) pt orice n>n0}

Teorema: Pt orice f(n) si g(n), avem f(n)=Q(g(n)) dsnd f(n)=O(g(n)) si

f(n)=W(g(n))

Notatii asimptotice in ecuatii:

Dc notatia asmpt. apare ca unic element in partea dr. a unei ecuatii,

f(n)=O(g(n)) atunci semnifica f(n) apartine O(g(n)).

Dc notatia apare intr-o formula in partea dreapta, atunci o interpretam

ca pe o functie anonima k(n) care apartine lui O(g(n)).

Ex: 2n^2+3n+1 = 2n^2+Q(n) -> k(n)=3n+1=Q(n).

Notatia o():

Echivalentu lu O() insa fara limitare stransa:

o(f(n)) = {g(n) | pt orice c>0 exista n0>0 ai

0<=g(n)<=c*f(n) pt orice n>n0}

ex: 2n=o(n^2), insa 2n^2 != o(n^2).

Notatia w():

similar cu o() pentru limitare inferioara.

ex: n^2=w(n), n^2 != w(n^2)

Preview document

Algoritmi - Pagina 1
Algoritmi - Pagina 2
Algoritmi - Pagina 3
Algoritmi - Pagina 4
Algoritmi - Pagina 5

Conținut arhivă zip

Alții au mai descărcat și

Baze de Date - Compania Carte 2009

„Cartea 2009” este o companie care se ocupa cu distributia de carte in Romania. „Cartea 2009” dispune de un lant de peste 300 de librarii situate...

Algoritmi și Structuri de Date

Modulul 0. Alocare dinamica in limbajul C Capitolul 0. Pointeri si alocare dinamica. Tipul de date struct 0.1 Pointeri si alocare dinamica O...

Lucrare Laborator Access 05

Laborator Informatica 9+10 Faceti o aplicatie access care sa ajute la gestionarea informatiilor stocate pe discuri (pe CDuri sau DVD-uri). Spre...

Programare pe Obiecte

S-a observat ca un obiect real este caracterizat de o structura, proprietati si de functionalitate. În POO obiectul este alcatuit dintr-o...

Proiectarea bazelor de date

Capitolul I - Informatii generale Cunostinte anterioare necesare: - Notiuni fundamentale de baze de date - Structuri de date Notiuni abordate...

Arhitectura sistemelor distribuite

Cap. II Arhitectura sistemelor distribuite Sistemele distribuite implementate pâna în prezent evidentiaza o varietate arhitecturala mare. Cu...

Te-ar putea interesa și

Tehnici și Algoritmi de Codare

PRESCURTĂRI 1. INTRODUCERE O temă des cercetată în telefonia mobilă este eficienţa spectrală, care deobicei are înţelesul de densitatea...

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Introducere Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe...

Soft pentru Algoritmi Fundamentali de Determinare a Unui Flux de Cost Minim

“Diferența dintre școală și viață? În școală, înveți o lecție, apoi dai un test. În viață, ai de dat un test care te învață o lecție.” (Tom...

Implementarea algoritmilor evolutivi

Conceptul de evoluţie a fost propus de savantul englez Charles Darwin în 1859 în celebra sa carte “Originea speciilor prin selecţie naturală”....

Algoritmi Polinomiali de Generare a Submulțimilor Discrete Finite

-Introducere- Motivul alegerii acestei lucrări este de a înţelege mai bine cum un algoritm matematic de generare poate fi implementat în cadrul...

Rezolvarea Problemei Comis - Voiajorului cu Ajutorul Algoritmilor Genetici

Algoritmi genetici Tehnici adaptive de cautare euristica, bazate pe principiile geneticii si ale selectiei naturale Lucreaza cu o populatie de...

Implimentarea algoritmului A , în cadrul jocului Snake

Rezumat Proiectul Snake, ce are la bază ideea de implimentare a algoritmului A*, cunoscut ca și A star, are ca obiect determinarea drumului de...

Algoritmi paraleli

Algoritmi paraleli pentru sortare Algoritmii paraleli sunt opusi algoritmilor seriali deoarece secventele de cod pot fi executate pe mai multe...

Ai nevoie de altceva?