Prezentare 4

Page 1

Reprezentarea Ĺ&#x;i structurarea informatiei

Notiuni prezente in acest curs Structuri dinamice de date: Liste lineare Liste simplu inlantuite Liste dublu inlantuite Operatii asupra listelor inserarea unui nou element stergerea unui element Tipuri de liste: Circulare Cozi Stive Liste nelineare (arbori) Reprezentarea arborilor binari OperaĹŁii cu arbori 18 martie 2010

1


Reprezentarea şi structurarea informatiei

Structuri de date 

Structuri dinamice de date 

Structurile de date sunt organizări ale datelor în scopul realizării eficiente a unor categorii generale de prelucrări. Diferenta dintre structurile statice si structurile dinamice consta in aceea ca cele dinamice prezinta o evolutie in timp.

18 martie 2010

Lect. ing. Florin Postolache

2


Reprezentarea şi structurarea informatiei

Structuri de date 

Liste lineare 

lista poate fi privită ca o mulţime finită şi ordonată de elemente oarecare. Un vector poate fi privit ca o listă, dar prezintă două mari dezavantaje: 

18 martie 2010

număr elementelor trebuie cunoscut de la început (datorită naturii statice a vectorilor) introducerea unui nou element între altele existente necesită re-aranjarea elementelor care urmează celui nou (datorită naturii compacte a vectorilor).

Lect. ing. Florin Postolache

3


Reprezentarea şi structurarea informatiei

Structuri de date 

Listă simplu înlănţuită 

Ca si in cazul vectorului, când pointer-ul Pi indică nodul următor, lista se numeşte simplu înlănţuită , ultimul nod conţine în câmpul Pi o valoare ce indică sfârşitul listei - valoare numită nil (în Pascal) sau NULL (în C, C++ sau Java. Indicatorul P0 este de fapt variabila pointer prin care se face acces la listă, E1 este primul iar En este ultimul element al listei, n fiind lungimea listei.

18 martie 2010

Lect. ing. Florin Postolache

4


Reprezentarea şi structurarea informatiei

Structuri de date 

Operaţii asupra listelor 

Modificările de valoare Ei ale unui nod au loc prin operaţii asupra tipurilor de date ce sunt stocate în câmpurile acestuia operaţiile asupra listelor privesc modificarea structurii acestora, adică a organizării nodurilor prin legăturile dintre ele. Caracterul dinamic al structurii de tip listă ocnsta în modul cum operaţiile afectează dimensiunea listei, fără a modifica poziţia fizică a nodurilor (în memoria de lucru) ci, eventual, valorile indicatorilor din fiecare nod.

18 martie 2010

Lect. ing. Florin Postolache

5


Reprezentarea şi structurarea informatiei

Structuri de date 

Operaţii asupra listelor 

Inserarea unui nou element Ex în listă este reprezentată în Figura de mai jos; după cum se observă, după „întreruperea legăturii” dintre nodurile Ei, şi Ej, se actualizează doar valorile indicatorilor Pi si Px.

18 martie 2010

Lect. ing. Florin Postolache

6


Reprezentarea şi structurarea informatiei

Structuri de date 

Operaţii asupra listelor 

La ştergerea unui element (Ei+1), se actualizează valoarea pointer-rului nodului precedent (Ei) pentru a indica elementul următor (Ei+2), iar elementul şters (Ei+1) este eliminat din memorie (eliberează locaţia ocupată până la acest moment).

18 martie 2010

Lect. ing. Florin Postolache

7


Reprezentarea şi structurarea informatiei

Structuri de date 

Alte operaţii: 

parcurgerea listei în scopul căutării unui nod (de indice sau valoare cunoscută), al primului sau ultimului element (capul sau coada listei); determinarea elementului succesor sau predecesor

pentru un nod dat;  iniţializarea listei – adică ştergerea tuturor elementelor din listă (vidarea listei).  Operaţiile de ştergere ale unui nod sau a întregii liste face totodată eliberarea zonei de memorie ocupată, spre a fi utilizată pentru alte variabile dinamice. Lect. ing. Florin Postolache 18 martie 2010

8


Reprezentarea şi structurarea informatiei

Structuri de date 

Tipuri de liste 

listă circulară cand pointer-ul ultimului nod En al listei indică primul element E1, parcurgerea liste se poate face până la capăt şi apoi din nou de la început. Cozi – numite liste FIFO(„First In First Out”) introducerea / eliminarea de elemente se face doar prin capete. Stive – numite liste LIFO („Last In First Out” ).

18 martie 2010

Lect. ing. Florin Postolache

9


Reprezentarea şi structurarea informatiei

Structuri de date 

Liste nelineare (arbori) 

Pentru această categorie de liste nodurile au legături cu număr variabil şi nu doar între vecini (cu indici succesivi). Relaţiile între noduri nu privesc ordinea ci ierarhia: un nod are relaţii de predecesor („părinte” – de exemplu E2) cu noduri succesor (noduri subordonate, „fii” – exemplu E4 şi E5). Nodurile care nu au „fii” sunt noduri finale şi au valorile indicatorilor nule (NULL).

18 martie 2010

Lect. ing. Florin Postolache

10


Reprezentarea Ĺ&#x;i structurarea informatiei

Structuri de date

18 martie 2010

Lect. ing. Florin Postolache

11


Reprezentarea şi structurarea informatiei

Structuri de date 

Liste nelineare (arbori) 

Funcţie de numărul maxim de fii ale unui nod avem:  

arbore binar – maxim două noduri fii, arbore ternar – maxim trei noduri fii, etc.

Reprezentarea arborilor binari  

Cele mai utilizate categorii sunt cele binare Reprezentarea unui arbore se poate face şi folosind un tablou cu două coloane, indicând pe fiecare linie noduri adiacente.

18 martie 2010

Lect. ing. Florin Postolache

12


Reprezentarea şi structurarea informatiei

Structuri de date 

Operaţii cu arbori 

Parcurgerea arborelui constă în vizitarea succesivă a nodurilor acestuia.

Inserarea şi ştergerea unui nod din arbore – similar celor de la liste liniare.

 

Determinarea înălţimii arborelui. Determinarea succesorului sau predecesorului unui nod în arbore.

Extragerea unui subarbore.

18 martie 2010

Lect. ing. Florin Postolache

13


Reprezentarea şi structurarea informatiei

Structuri de date 

Operaţia de parcurgere a arborilor

18 martie 2010

Lect. ing. Florin Postolache

14


Reprezentarea Ĺ&#x;i structurarea informatiei

Intrebari?

ď Ž

18 martie 2010

Multumesc !

Bazele Informaticii

15


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.