Ingineria programării

Referat
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 9 în total
Cuvinte : 1904
Mărime: 21.70KB (arhivat)
Publicat de: Barbu Gherman
Puncte necesare: 5
Profesor îndrumător / Prezentat Profesorului: Conf.univ.dr. Crisan Daniela Alexandra
Facultatea de Informatica - Manageriala

Extras din referat

Acest proiect implementeazǎ operaţiile ce se realizeazǎ în mod curent cu structura avansatǎ de date denumitǎ B-arbore (B-Tree în englezǎ).

Documentul de faţǎ conţine aspectele teoretice legate de aceastǎ structurǎ de date.

Se vor detalia algoritmii de :

• cǎutare

• inserare

• ştergere

1. Prezentare

B-arborii reprezintǎ o structurǎ de date avansatǎ folositǎ pe scarǎ largǎ la implementarea bazelor de date şi care asigurǎ timpi optimi de operare cu informaţia stocatǎ pe suport magnetic care este o memorie mult mai mare decǎt cea internǎ, dar şi mult mai lentǎ. Ei pot fi priviţi ca o generalizare a arborilor de cǎutare la care s-au adus îmbunǎtǎţiri în ceea ce priveşte posibilitatea operǎrii cu pagini de memorie mari.

Arborii B exploateazǎ eficient memoria externǎ a calculatorului, depozitatǎ în general pe disc magnetic. Ei sunt folosiţi pentru realizarea sistemelor de baze de date deoarece duc la un numǎr redus de accese la disc. Datoritǎ acestei utilizǎri a lor şi operaţiile pe arbori-B se analizeazǎ atât din punctul de vedere al complexitǎţii în timp cât şi al numǎrului de accesǎri ale discului.

1. Nodul x are câmpurile :

a) n(x) - numǎrul de chei din nod

b) cheile din nod, în numǎr de n(x), ordonate: cheie1(x) _ . . . _cheien(x)(x)

c) un flag frunzǎ(x) care ne spune dacǎ nodul este sau nu frunzǎ

d) mulţimea c a fiilor care este vidǎ pentru frunze şi are n(x) + 1 elemente în rest: c1(x) . . . cn(x)+1(x)

e) între subarbori existǎ o relaţie de ordine parţialǎ, cheile dintr-un nod mǎrginind plajele de valori ale fiilor nodului (am notat cu ki o cheie oarecare din ci(x))

k1 ≤ cheie1(x) ≤ k2 ≤ . . . ≤ cheien(x)(x) ≤ kn(x)+1

2. ordinul sau gradul minim t ≥2 al arborelui care apare în douǎ constrângeri esenţiale

a) Fiecare nod, mai puţin rǎdǎcina, trebuie sǎ aibǎ cel puţin t − 1 chei. Dacǎ arborele nu este vid, rǎdǎcina are cel puţin o cheie.

b) Fiecare nod poate avea cel mult 2t − 1 chei, deci cel mult 2t fii.

Pentru t = 2, ceea ce se obţine se numeşte 2 − 3 − 4 arbore (un nod are 2, 3 sau 4 fii), iar pentru t = 3 se numeşte 3 − 4 − 5 − 6 arbore. În multe cǎrţi aceşti arbori sunt trataţi separat drept cazuri mai simple de arbori-B.

Cercetǎrile statistice aratǎ cǎ valorile cele mai bune pentru t sunt între 50 şi 2000, dupǎ care curba eficienţei structurii are o pantǎ descendentǎ.

Se demonstreazǎ uşor (prin inducţie) cǎ, dacǎ notǎm cu n numǎrul total de noduri şi cu h înǎlţimea, atunci

n ≥ 2th − 1

de unde se obţne relaţia

h ≤ logt[(n + 1)/2]

Complexitatea în spaţiu este tot O(log n) ca la arborii de cǎutare, dar baza logaritmului poate avea valori mari, înǎlţimea arborelui fiind practic mult mai micǎ. De exemplu pentru t = 1500, dacǎ folosim rezultatul de mai sus pentru h = 3 (rǎdǎcina plus 2 nivele) obţinem un numǎr minim de chei de 6,749,999,999 adicǎ de ordinul miliardelor! Iar numǎrul de accesǎri ale discului scade cu log t, pentru cǎ este proporţional cu înǎlţimea.

Corectitudinea algoritmilor ce urmeazǎ constǎ în garantarea pǎstrǎrii proprietǎţilor de B-arbore. Voi încerca sǎ se sublinieze acest fapt fie prin observaţii, fie prin detalierea pseudocodului.

Preview document

Ingineria programării - Pagina 1
Ingineria programării - Pagina 2
Ingineria programării - Pagina 3
Ingineria programării - Pagina 4
Ingineria programării - Pagina 5
Ingineria programării - Pagina 6
Ingineria programării - Pagina 7
Ingineria programării - Pagina 8
Ingineria programării - Pagina 9

Conținut arhivă zip

  • Ingineria Programarii.doc

Alții au mai descărcat și

Arbori AVL

Definire: Arborii binari de căutare echilibraţi AVL sunt arborii binari de căutare care au următoarele proprietăţi: - pentru fiecare nod din...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Te-ar putea interesa și

Ingineria programării

1. Descrierea problemei Principalul obiectiv indeplinit de sistemul software e-quiz este acela de a evalua cunostintele studentilor cu ajutorul...

Ingineria programării

Inmatriculari de masini Sa presupunem ca proprietarul unei masini Logan vrea sa isi inmatriculeze masina, folosind un system software. Cu privire...

Ingineria programări - Enlight browser

Analiza cerintelor Conform cu standardul IEEE STD-830-1993, IEEE Recommended Practice for Software Requirements Specification. 1. Introducere...

Ingineria programării - arbori și grafuri

Problema 1 Fie G un graf conex cu n varfuri. Fiecarui arc (i,j) i se pune in corespondenta un cost c[i][j]. Sa se listeze toti arborii acestui...

Portofoliu de probleme ingineria programării

Problema din Siracuza Fie n un număr natural oarecare citit de la tastatură. Dacă n este număr par, se împarte la 2, iar dacă este număr impar, se...

Inginerie Software

Fazele dezvoltării unui produs software 1 Ce este ingineria programării? 2. Fazele ingineriei programării 2.1. Faza de analiză 2.2. Faza de...

Ingineria programării - probleme

1. Enunt: Se considera un set de date ale unor elefanti (greutate si coeficient de inteligenta). Se cere sa se gaseasca o secventa cat mai lunga a...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Ai nevoie de altceva?