Sunteți pe pagina 1din 17

ORGANIZAREA INTERN A DATELOR

Informaia, data i cunotina Clasificarea datelor Structuri statice de date Structuri dinamice de date

INFORMAIA, DATA I CUNOTINA


Abordare teoretic
Direcii de abordare n general: semne care circul pe diferite canale ntre elementele lumii reale, cu forme specifice de receptare la nivelul materiei vii; n particular: cnd receptorul este omul, n cadrul procesului de cunoatere Caracteristici definitorii semn cu semnificaie, prin existena unui limbaj cunoscut de ctre receptor;

noutate, prin completarea tezaurului de cunotine al receptorului;


utilitate, prin receptarea n timp util, n contextul dorit.

Abordare pragmatic
Cunotina: informaia caracterizat de utilitate i importan pentru receptorul uman
Tezaur de cunotine Proces de informare Redundan

Abordare matematic Cantitate de informaie: formula lui Shannon

Abordare informaional

Data: mod concret de reprezentare a informaiei pentru un anumit procesor (om, calculator, algoritm, program etc.)
Parametrii de definire a unei date: identificator valoare atribute

CLASIFICAREA DATELOR
Abordare la nivel logic

Dup natur: - numerice: naturale, ntregi, reale, complexe; - alfabetice - alfanumerice - logice
Dup numrul de valori n timpul execuiei programului: - variabile - constante propriu-zise (literali) - constante simbolice Dup numrul de valori memorate concomitent: - elementare (scalare) - structurate (structuri de date)

Clasificarea structurilor de date Dup adresa fizic de memorie n timpul execuiei: - structuri statice - structuri dinamice Dup modul de referire a elementelor: - cu acces secvenial - cu acces direct Dup natura elementelor: - omogene - eterogene Dup complexitatea elementelor: - cu elemente date scalare - cu elemente date structurate (structur recursiv) Dup mediul de memorare: - interne (n memoria principal) - externe (pe medii magnetice: fiiere, baze de date)

Abordare la nivel fizic Reprezentarea intern a datelor numerice naturale (ntregi fr semn) Virgul fix aritmetic (1 sau 2 octei)

Codul utilizat: cod direct Plaja de valori: [0, 28-1]


7 1 0 Reprezentarea intern a datelor numerice ntregi (ntregi cu semn) Virgul fix algebric (1, 2 sau 4 octei)

s
7 6 1 0 Codul utilizat: - pentru numere pozitive: cod direct - pentru numere negative: cod complementar
Plaja de valori: [-27, 27-1]

Reprezentarea intern a datelor numerice reale Virgul mobil

Caracteristic (8/11 bii)

Fracie (23/52 bii)

Normalizare: n = (-1)s * 1,fracie * 2exponent


Caracteristica = exponent + 127 simpl precizie

Caracteristica = exponent + 1023 dubl precizie

Codul utilizat: cod direct


Plaja de valori:
- simpl precizie: [-1038, 1038] - dubl precizie: [-10307, 10307]

Reprezentarea intern a datelor alfabetice i alfanumerice Codul ASCII un caracter pe octet 256 de caractere distincte

Codurile ASCII Caracterele 0 31 Coduri de control 32 47 Caractere speciale de pe tastatur


4 8 5 7 C i f r e l e a r a b e d e l a 0 l a 9 5 8 6 4 C a r a c t e r e s p e c i a l e d e p e t a s t a t u r

Reprezentarea intern a datelor logice

adevrat - 1 reprezentat n virgul fix, pe un octet fals - 0 reprezentat n virgul fix, pe un octet

STRUCTURI STATICE DE DATE


Masivul: structur de date omogen, cu acces direct, ntre elementele creia exist o relaie ierarhic, pe mai multe niveluri Vectorul

X x1 x2
xi
... xn

xn

Reprezentare intern x1 x2 ...

D(xi) X
Referire element

Adr(xi) = Adr(X) + D(xi) D(xi) = (r(xi) - 1) * l r(xi) = i

A
Matricea

l1 a1,1 a1,2 a1,n

l2

am,1

lm
am,2 am,n

Reprezentare intern: lexicografic sau invers lexicografic a1,1 a1,2 ... ai,j ... am,n

D(ai,j) A
Referire element Adr(ai,j) = Adr(A) + D(ai,j) D(ai,j) = (r(ai,j) - 1) * l r(ai,j) = (i - 1) * n + j memorare lexicografic r(ai,j) = (j - 1) * m + i memorare invers lexicografic

Masivul tridimensional T(m,n,p) = vector m dimensional, de matrice n*p

y
Referire element Adr(ti,j,k) = Adr(T) + D(ti,j,k)

D(ti,j,k) = (r(ti,j,k) - 1) * l
r(ti,j,k) = ((i - 1) * p + j - 1) * n + k r(ti,j,k) = ((k - 1) * m + j - 1) * n + i memorare lexicografic memorare invers lexicografic

Articolul: structur de date neomogen, cu acces direct, ntre elementele creia exist o relaie de ordine ierarhic, pe mai multe niveluri de arborescen Factura

Nr. fact.

Data emiterii

U.m.

Cantitate

Pret

Valoare

Furnizor

an

luna

zi

Denumire

Cod fiscal

Date (cmpuri) elementare date fr descendeni Date de grup date care au descendeni Articolul data de grup de cel mai nalt nivel Reprezentare intern: juxtapunerea datelor elementare Referire elemente: prin nume = deplasare fa de adresa de nceput

Structuri dinamice de date


Graf orientat

G = (X, U); X = {x1, x2, , xn}; (xi, xj) U H = (Y, V); Y X


X4 X5 X1 X2 X6 X7 X8 X3 X8 X2 X6

X3

Drum de lungime n (n 1) Drum elementar Circuit

Arbore
X1 X2 X5 X6 X3 X7 X8 X4 X9 X10

X11

X12

X13

X14

X15

Nod de ordin n
1 2 4 5 6 3 7

1 2 3

10

11

Lista simplu nlnuit

La={(di,si)|diD,si P}
d2 d1

dn C

dn-1

Lista dublu nlanuit

Ls={(pi,di,si)|diD,pi,si P}
B

C dn d n-1 d2

d1

Operaii pe liste: traversare, inserare, tergere etc.

Stiva (lista LIFO)


inserare citire tergere dn dn-1 d2 d1

Operaii pe stiv: inserare n capul stivei, tergere din capul stivei, citirea din capul stivei. Coada (lista FIFO)
FA citire tergere dn dn-1 d2 SPATE d1 S

inserare

Operaii specifice: inserare n spate, tergere din faa cozii, citirea din faa cozii.