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)
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 mediul de memorare:
- interne (n memoria principal)
- externe (pe medii magnetice: fiiere, baze de date)
Clasificarea structurilor de date
Dup complexitatea elementelor:
- cu elemente date scalare
- cu elemente date structurate (structur recursiv)
Abordare la nivel fizic
Reprezentarea intern a datelor numerice naturale (ntregi fr semn)
Virgul fix aritmetic (1 sau 2 octei)
7 1 0
Codul utilizat: cod direct
Plaja de valori: [0, 2
8
-1]
Reprezentarea intern a datelor numerice ntregi (ntregi cu semn)
Virgul fix algebric (1, 2 sau 4 octei)
Codul utilizat:
- pentru numere pozitive: cod direct
- pentru numere negative: cod complementar
Plaja de valori: [-2
7
, 2
7
-1]
7 1 0
s
6
Reprezentarea intern a datelor numerice reale
Virgul mobil
Fracie (23/52 bii) Caracteristic (8/11 bii) S
Normalizare: n = (-1)
s
* 1,fracie * 2
exponent

Caracteristica = exponent + 127 simpl precizie
Caracteristica = exponent + 1023 dubl precizie
Codul utilizat: cod direct
Plaja de valori:
- simpl precizie: [-10
38
, 10
38
]
- dubl precizie: [-10
307
, 10
307
]
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
6 5 9 0 L i t e r e l e m a r i a l e a l f a b e t u l u i l a t i n
9 1 9 6 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
9 7 1 2 2 L i t e r e l e m i c i a l e a l f a b e t u l u i l a t i n
1 2 3 1 2 7 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
1 2 8 2 5 5 C a r a c t e r e g r a f i c e

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
Reprezentare intern
x
1
x
2

x
i

... ... x
n

X
D(x
i
)
Referire element
Adr(x
i
) = Adr(X) + D(x
i
)
D(x
i
) = (r(x
i
) - 1) * l
r(x
i
) = i
X
x
1
x
2

x
n


Matricea
Reprezentare intern: lexicografic sau invers lexicografic
a
1,1
a
1,2

a
i,j

... ... a
m,n

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

A
l
1
l
2

l
m

a
1,n
a
1,2
a
1,1

a
m,n
a
m,2
a
m,1




Masivul tridimensional
x
z y
Referire element
Adr(t
i,j,k
) = Adr(T) + D(t
i,j,k
)
D(t
i,j,k
) = (r(t
i,j,k
) - 1) * l
r(t
i,j,k
) = ((i - 1) * p + j - 1) * n + k memorare lexicografic
r(t
i,j,k
) = ((k - 1) * m + j - 1) * n + i memorare invers lexicografic
T(m,n,p) = vector m dimensional, de matrice n*p
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
X
1
X
2
X
5
X
8
X
3
X
4
X
6
X
7
X
2
X
3
X
6
X
8
Structuri dinamice de date
Graf orientat
G = (X, U); X = {x
1
, x
2
, , x
n
}; (x
i
, x
j
) U
H = (Y, V); Y X
Drum de lungime n (n 1)
Drum elementar
Circuit
X
1
X
2
X
3
X
4
X
5
X
6
X
7
X
8
X
9
X
10
X
11
X
12
X
13
X
14
X
15
Arbore
Nod de ordin n
1
2 3
4 5 6 7
8 9 10 11
1
2
3
4
d
n
d
n-1
d
1
d
2
C

B
B
d
1
d
2
d
n-1
d
n
C
Lista simplu nlnuit
Lista dublu nlanuit
L
a
={(d
i
,s
i
)|d
i
D,s
i
P}
L
s
={(p
i
,d
i
,s
i
)|d
i
D,p
i
,s
i
P}
Operaii pe liste: traversare, inserare, tergere etc.
inserare
citire
tergere
C
d
n
d
n-1
d
1
d
2

citire
tergere
F
d
n
d
n-1
d
1 d
2

S
FA SPATE
inserare
Stiva (lista LIFO)
Coada (lista FIFO)
Operaii pe stiv: inserare n capul stivei, tergere din
capul stivei, citirea din capul stivei.
Operaii specifice: inserare n spate, tergere din faa
cozii, citirea din faa cozii.

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