Structuri de Date și Algoritmi

Seminar
9/10 (2 voturi)
Domeniu: Automatică
Conține 13 fișiere: pps, txt
Pagini : 26 în total
Cuvinte : 19377
Mărime: 166.15KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Doina Petrica

Extras din seminar

1.Definitia unui tip de date abstract - TDA

Un TDA este un model matematic cu o colectie de operatori definiti

pe el.

Intr-un TDA, operatorii pot avea ca operanzi nu numai instante ale

TDA-ului respectiv, ci si ale altui TDA, dupa cum rezultatul poate fi o instanta

a oricarui TDA, dar cel putin un operand sau rezultatul trebuie sa apartina

TDA-ului respectiv.

Un TDA "incapsuleaza" un tip de date, in sensul ca definitia si toti

operatorii tipului pot fi localizati intr-o sectiune a programului, astfel incit

metoda de implementare a TDA-ului poate fi modificata usor, aceasta implicind

doar rescrierea operatorilor tipului, restul programului raminind nemodificat.

In afara sectiunii unde este definit, TDA-ul poate fi privit ca un tip

primitiv.

O implementare a unui TDA este "traducerea" intr-un limbaj de programare

a declaratiei unei variabile a TDA si, prin cite o procedura, a fiecarui

operator al TDA; o implementare foloseste o anumita structura de date pentru

reprezentarea TDA.

Notiunile tip de date, structura de date si tip de date abstract, desi

asemanatoare, au intelesuri diferite.

Intr-un limbaj de programare, tipul de date al unei variabile reprezinta

setul (multimea) de valori pe care le poate lua variabila respectiva.

Daca un algoritm se elaboreaza folosind pseudocodul si tipuri de date

abstracte, pentru implementarea algoritmului intr-un limbaj de programare,

TDA-urile trebuie reprezentate in termenii tipurilor de date si a operatorilor

definiti in limbajul respectiv. Pentru implementarea unui model matematic

reprezentind un TDA, se folosesc structuri de date, care sint colectii de

variabile, ce pot fi de tipuri diferite.

2.Timpul de executie al unui program

De multe ori, pentru rezolvarea unei probleme, trebuie ales un

algoritm dintre mai multi posibili, doua criterii principale de alegere fiind

contradictorii:

(1)algoritmul sa fie simplu de inteles, de codificat si de depanat;

(2)algoritmul sa foloseasca eficient resursele calculatorului, sa aiba

un timp de executie redus.

Daca programul care se scrie trebuie rulat de un numar mic de ori, prima

cerinta este mai importanta; in aceasta situatie, timpul de punere la punct a

programului e mai important decit timpul lui de rulare, deci trebuie aleasa

varianta cea mai simpla a programului.

Daca programul urmeaza a fi rulat de un numar mare de ori, avind si un

numar mare de date de prelucrat, trebuie ales algoritmul care duce la o executie

mai rapida. Chiar in aceasta situatie, ar trebui implementat mai inainte

algoritmul mai simplu si calculata reducerea de timp de executie pe care ar

aduce-o implementarea algoritmului complex.

Timpul de rulare al unui program depinde de urmatorii factori:

-datele de intrare

-calitatea codului generat de compilator

-natura si viteza de executie a instructiunilor programului

-complexitatea algoritmului care sta la baza programului.

Deci timpul de rulare e o functie de intrarea sa, de cele mai multe ori,

nedepinzind de valorile de la intrare, ci de numarul de date.

Se noteaza cu T(n) timpul de rulare al unui program, ale carui date de

intrare au dimensiunea n.De exemplu T(n) poate fi cn^2, unde c este o constanta.

Daca timpul de rulare depinde de valorile datelor de la intrare, in

calculul lui T(n) se va lua in considerarea situatia cea mai defavorabila, cea

care duce la timpul cel mai mare.

Cum timpul de rulare depinde nu numai de intrare (n) si de algoritm,

ci si de performantele calculatorului pe care se executa programul, T(n) se

apreciaza ca fiind proportional cu o anumita functie de n si nu se exprima in

unitati reale de timp, deci T(n)=cf(n).

Timpul T(n) de rulare al unui program, poate fi apreciat printr-o

functie O(f(n)), daca exista constantele pozitive c si n0, astfel incit

T(n)<=cf(n), oricare ar fi n>=n0. Functia O(f(n)) reprezinta aproximarea limitei

superioare a lui T(n) si se spune ca T(n) este O(f(n)), iar f(n) se numeste

limita superioara a ratei de crestere a lui T(n).

Conținut arhivă zip

  • Structuri de Date si Algoritmi
    • Articol.pps
    • Introducere_INFO.pps
    • L10.TXT
    • L11.TXT
    • SDA1.TXT
    • SDA2.TXT
    • SDA3.TXT
    • SDA4.TXT
    • SDA5.TXT
    • SDA6.TXT
    • SDA7.TXT
    • SDA8.TXT
    • SortariTab1.pps

Alții au mai descărcat și

Rețele Neuronale cu Învățare Nesupravegheată de Tip Kohonen

Utilizarea RNA pentru rezolvarea unor probleme practice necesită parcurgerea, unei etape esenţiale - etapa de învăţare sau antrenare. În...

Grafuri. parcurgerea grafurilor. Sortarea topologică

Scop: Parcurgerea in latime se foloseste: - pentru Inteligenta Artificiala (metoda neinformata de cautare... mai multe la cursul de IA); -...

Automate și Microprogramare

Aplicatia consta în controlul unei macarale care trebuie sa realizeze cele 2 cicluri de miscare reprezentate în figura 5.1. Initial macaraua se...

Utilizarea Calculatorului

1. Numarul paginilor web existente este de ordinul a) Miilor b) Sutelor de milioane c) Milioanelor d) Miliardelor 2. Folosirea indecsilor web...

Tema 8 - hazarde structurale la procesoarele de tip pipeline - exemple reale și soluții

Pentru a creste performanta procesoarelor a fost dezvoltata tehnica “benzii de asamblare”, numita si pipeline. Majoritatea procesoarelor din zilele...

Clase Derivate

Daca exista o ierarhie de clase derivate, atributele sunt mostenite prin aplicarea recursiva a regulilor din tabelul de mai sus. In esenta deci,...

Te-ar putea interesa și

Structuri de Date și Algoritmi - Gestionarea unui Magazin de Piese Auto

Gestiunea unui magazin de piese auto Se va realiza un program care va permite accesul la operatii specifice gestionarii unui magazin de piese...

Structuri de Date și Algoritmi

Motivatia alegerii temei. Utilitatea aplicatiei Am ales aceasta tema ca urmare a cerintelor avute la materia structuri de date si algoritmi,...

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Structuri de date și algoritmi - magazin de jucării

Un magazin de jucarii tine evidenta produselor cu ajutorul unui program pe claculator, care are ca structura de date un arbore AVL creat dupa cod....

Structuri de Date și Algoritmi

1 Tema:Implimentarea tipului abstract de date.Tabloul de structuri. 2 Sarcina:De implimentat tipul abstract de date,tablou de structuri si de...

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...

Structuri de Date și Algoritmi

1. Conceptul de dată În informatică, prin dată, se desemnează un model de reprezentare a informaţiei, model cu care se poate opera pentru a obţine...

Structuri de Date și Algoritmi

Lucrarea 1 Evaluarea si masurarea timpului de executie al unui algoritm 1.Definitia unui tip de date abstract - TDA Un TDA este un model...

Ai nevoie de altceva?