Sunteți pe pagina 1din 6

Ministerul Educaţiei, Culturii şi Cercetării al Republicii Moldova

Universitatea Liberă Internaţională din Moldova

Facultatea Informatică, Inginerie şi Design


Disciplina: Arhitectura și design-ul algoritmilor

Lucrare de laborator Nr.1

Tema: Structurilor de date de listă compusă

A efectuat

Student gr. TIR-26

Guminiuc Victor

A verificat

Profesor Leahu T.

Chişinău 2018
1. Scopul lucrării:
Elaborarea algoritmilor și design-ului algoritmilor ambalării fizice a structurilor de date de listă
compusă.

2. Sarcina:

Împachetarea (ambalarea) fizică a structurilor de date sub formă de liste compuse (SDLC).

Problema 1: Ne este dat un fişier ce conţine 8 înregistrări cu lungimea fixă a cîte 55 octeţi
fiecare. Adresa de început a domeniului înregistrărilor este 1000, iar a domeniului de listă – 100.
Domeniul de listă are lungimea de 25 cuvinte. Cuiburile în domeniul de listă au de asemenea lungime fixă
a câte 3 cuvinte fiecare.
E necesar:
a) de organizat şi de prezentat domeniul înregistrărilor şi domeniul de listă a fişierului cu ajutorul
metodelor succesivă, în cuib şi în lanţ;
b) de introdus (inclus) două înregistrări noi: una în mijlocul listei (10), iar alta - la sfârşitul ei (9);
c) de exclus din listă 3 înregistrări (1, 3, 6)
Structura listei iniţiale este următoarea: 5  3  1  7  2  4  8  6

3. Parte teoretică:

Structura de date ca noţiune ne oferă informaţia componenţa elementelor şi repartizarea lor


într-o anumită totalitate independent de mediul în care această totalitate este realizată. Această
structură poate fi realizată pe diverşi suporţi de date. În dependenţă de varietatea acestor suporţi
structura de date va fi realizată în mod divers. De aceea organizarea şi realizarea oricărei structuri de
date logice într-un mediu fizic concret se consideră împachetare (ambalare) a acestei structuri. Această
împachetare fizică se mai numeşte catalizare.

În prezent SDLC pot fi ambalate prin intermediul următoarelor 4 metode:

 Metoda succesivă;
 Metoda în lanţ;
 Metoda în cuib;
 Metoda în nod.
Primele două metode se referă la structurile de date liniare, ce operează numai cu elemente
simple.

Metoda succesivă se aplică numai pentru structurile succesive. În acest caz în memorie se
organizează numai domeniul înregistrărilor deoarece înregistrarea şi citirea lor are loc graţie
organizării contorului structurii ce se indică în programa de prelucrare a structurii.

Metoda în lanţ este utilizată pentru structurile de date în şir. Aici în afară de domeniul
înregistrărilor se mai organizează şi domeniul listei, care este nu altceva decât programa de transcriere
a datelor structurii din memoria externă în cea internă şi de citire a acestei structuri din memoria
internă pentru a fi prelucrată logic şi aritmetic.

Metoda în cuib se referă la SDLC. În acest caz de asemenea se organizează două domenii – a
cuiburilor şi a listelor. Ca şi la structurile în şir aici domeniul listei este organizat în memoria internă,
iar domeniul înregistrărilor (cuiburilor) se organizează în memoria externă. Conţinutul şi componenţa
domeniilor de listă este divers în depindere de metoda de împachetare.

Metodele menţionate până acum se deosebesc esenţial de următoarea metodă (în nod) prin aceea
că ele sunt aplicate pentru a realiza fiecare listă în parte în mod fizic. Metoda de împachetare fizică în
nod se deosebeşte de celelalte metode prin aceea că ea este utilizată pentru a organiza şi realiza
multiliste. Aceste multiliste graţie dispunerii de elemente informaţionale comune se intersectează şi din
acest motiv ele pot fi organizate sub formă de o listă comună. La nivel fizic în metoda studiată, în afară
de domeniile înregistrărilor de listă se mai organizează şi domeniul indicatorilor listelor ce se include în
multilista unică.
4. Rezolvare:

A. Ambalarea succesiva a listei compuse.

Această metodă de ambalare se limitează numai la organizarea domeniului de înregistrări în


memoria externă (ME), de aceea pentru a transcrie înregistrările din ME în memoria internă (MI) e
suficient de organizat contorul structurii, care ar asigura citirea înregistrării noi după fiecare 5 celule
citite în mod automat.
În aşa mod fiecare înregistrare constă din 5 cuvinte, iar fiecare cuvânt ocupă câte o celulă.
Reieşind din aceasta conţinutul înregistrărilor este următorul:
Adresele
Numărul
celulelor Conţinutul înregistrărilor
înregistrărilor
înregistrate
1 1000 a1 b1 c1 d1 e1
2 1005 a2 b2 c2 d2 e2
3 1010 a3 b3 c3 d3 e3
4 1015 a4 b4 c4 d4 e4
5 1020 a5 b5 c5 d5 e5
6 1025 a6 b6 c6 d6 e6
7 1030 a7 b7 c7 d7 e7
8 1035 a8 b8 c8 d8 e8

B. Împachetarea fizică prin metoda în lanţ.


a) Această metodă afară de domeniului de înregistrări necesită de asemenea organizarea domeniului
de listă, care este nu alt ceva decât schema de transcriere a datelor din ME în MI. Înainte de a
organiza domeniul de listă e necesar de determinat structura şi componenţa listei.
În exemplul dat convenţional se determină că structura de date listă compusă (SDLC) după numele
înregistrărilor este următoarea:
53172486
În aşa caz domeniul de listă va fi organizat în următorul mod:
Conţinutul
Adresele celulelor
adreselor înregistrărilor Adreselor
în MI
în ME de legătură
100 15 113
ILCL*
ILCO** 101 10 109
102 104
103 1010 124
104 117
105 1030 TL***
106 110
107 119
108 120
109 1035 121
110 112
111 1025 116
112 107
113 102
114 1005 105
115 106
116 1000 114
117 123
118 115
119 108
120 122
121 1020 103
122 TL
123 118
124 1015 111
* ILCL – indicatorul listei celulelor libere
** ILCO – indicatorul listei celulelor ocupate
*** TL – terminator listă

b) În această structură adăugăm două înregistrări noi cu numerele 9 şi 10.


Astfel, conform condiţiilor iniţiale componenţa structurii va fi următoarea:

5  3  1  7  10 2  4  8  6→9

Domeniul înregistrărilor va avea următorul conţinut nou:


Adresele
Numărul
celulelor Conţinutul înregistrărilor
înregistrărilor
înregistrate
9 1040 a9 b9 c9 d9 e9
10 1045 a 10 b 10 c 10 d 10 e 10

Domeniul de listă va avea următorul conţinut:


Conţinutul
Adresele celulelor în
adreselor înregistrărilor Adreselor
MI
în ME de legătură
100 13 113
101 12 109
102 104
103 1010 124
104 117
105 1030 118
106 1045 111
107 119
108 120
109 1035 121
110 112
111 1025 116
112 107
113 102
114 1005 105
115 110
116 1000 114
117 123
118 1040 TL
119 108
120 122
121 1020 103
122 TL
123 115
124 1015 116

c) Excludem din această structură 3 înregistrări cu numerele 3, 6 şi 1.


În acest caz structura va avea următorul conţinut:

5  7  10 2  4  8 →9
Domeniul de listă va avea următorul conţinut:
Conţinutul
Adresele celulelor în
adreselor înregistrărilor Adreselor
MI
în ME de legătură
100 16 113
101 9 109
102 104
103 111
104 117
105 1030 118
106 1045 114
107 119
108 120
109 1035 121
110 112
111 116
112 107
113 102
114 1005 105
115 110
116 TL
117 123
118 1040 TL
119 108
120 122
121 1020 124
122 103
123 115
124 1015 106
C. Împachetarea fizică prin metoda în cuib.
În acest caz fiecare dispune de o lungime fixă de 3 (trei) celule. De aceea într-un cuib vor fi
repartizate nu mai mult de 2 (două) înregistrări. În baza componenţei fişierului iniţial dat şi a lungimii
stabilite conţinutul informaţional al fiecărui cuib va fi următorul:
C1: 8 → 5 C3: 6 → 1
C2: 3 → 4 C4: 2 → 7
Reieşind din aceste condiţii domeniul de listă va avea următorul conţinut:
Adresele Conţinutul
celulelor cuvânt de terminator adresa de Indicatori
în MI trecere listă (TL) legătură (AL)
100 114 ICL
101 120 ICO
102 0 0 1010
103 0 0 1015 CO2
104 1 0 111
105 1 0 123
106 CL2
107
108 0 1
109 CL4
110
111 0 0 1025
112 0 0 1000 CO3
113 1 0 117
114 1 0 105
115 CL1
116
117 0 0 1005
118 0 0 1030 CO4
119 0 1
120 0 0 1035
121 0 0 1020 CO1
122 1 0 102
123 1 0 108
CL3
124
Indicatori: ICL – indicatorul cuiburilor libere; CO – indicatorul cuiburilor ocupate
CL1 – cuibul liber nr.1; CO1 – cuibul ocupat nr.1 etc.
Concluzie:
Spre deosebire de structurile în şir, structurile de listă compusă sînt interpretate (descrise) atât
analitic, cât şi grafic. În scopuri de instruire şi studiere a acestor structuri pentru interpretarea
analitică sînt utilizate parantezele, virgulele şi virgulele şi literele mici latine. Numărul parantezelor
deschise trebuie să fie egal cu numărul celor închise. Totodată acest şir este predeterminat de gradul
de complicaţie a structurii listei (componenţa nivelurilor ierarhice structurale).
De asemenea trebuie de avut în vedere că orice listă (cît de complicată n-ar fi) se consideră
sublistă şi de aceea se ia în paranteze. Pentru interpretarea grafică a acestor structuri sînt utilizate
aceleaşi figuri geometrice ca şi la structurile în şir. Numai că aici aceste figuri se repartizează spaţial
(la diferite nivele), precum şi în dependenţă de metoda de construire a listelor (uni-; bidirecţională şi
inelară) şi de metoda de adresare (comună, separată).

S-ar putea să vă placă și