Faceți căutări pe acest blog

vineri, 7 martie 2014

Coada


      Coada e tot un tip special de listă în care elementele sunt inserate la un capăt ( spate ) și sunt suprimate la celălalt ( față ); se mai numesc liste FIFO ( First In First Out ), adică de tip primul venit, primul servit. 

 Se definesc următorii operatori: 

 1.INIȚIALIZARE(C) - face coada ( lista ) vidă 

 2.FATZA(C) - funcție ce returnează primul element al cozii C 

 3.ADAUGĂ(x,C) - inserează elementul x în spatele cozii 

 4.SCOATE(C) - suprimă primul element al lui C 

 5.VID(C) - funcție ce e adevărată dacă coada este vidă. 

     Cele mai uzuale implementări ale cozii sunt cu ajutorul tipului pointer și al tablourilor circulare. 

     Coada bazată pe prioritate e structura de date abstractă care permite inserția unui nou element și suprimarea celui mai mare element dintre cele existente. Structura diferă de coadă ( din care se suprimă primul venit, deci elementul cel mai vechi ) și de stivă ( din care se suprimă ultimul venit, deci cel mai nou ). 

 Asupra acestei structuri de date, ale cărei elemente sunt articole cu chei ( sau priorități ), se definesc operațiile : 

 GENEREAZĂ - o coadă bazată pe priorități, pornind de la N elemente ( succesiune de inserții ) 

 INSEREAZĂ - un nou element 

 EXTRAGE - cel mai mare element 

 ÎNLOCUIRE - a celui mai mare element cu unul nou, mai puțin prioritar ( inserție + suprimare ) 

 SCHIMBĂ - prioritatea unui element ( suprimare + inserție ) 

 SUPRIMĂ - un element oarecare, precizat 

 REUNEȘTE - două cozi în una singură. 

 Ca implementări a acestei structuri de date, sînt mai uzuale cele ce folosesc liste neordonate, liste ordonate după prioritate, ansamble. 

Niciun comentariu:

Trimiteți un comentariu