Sunteți pe pagina 1din 4

Teorie stiva

Stiva este o structur abstract de date reprezentnd un caz particular de list n care
introducerile i extragerile se fac la un singur capt, numit vrful stivei. Cellalt capt are
denumirea de baz a stivei. Fiind o list, toate elementele unei stive sunt de acelai tip de
dat. Dac stiva nu conine niciun element spunem c este vid.
Pe figur:

Operaiile asociate structurii de stiv sunt: introducerea unui nou element, extragerea unui
element, consultarea vrfului stivei, iniializarea ca stiv vid i testul de stiv vid. Toate aceste
operaii sunt efectuate n timp constant, de ordin de complexitate O(1). Se poate aduga ca
operaie i tiprirea coninutului curent al stivei, operaie efectuat n O(P), unde P reprezint
numrul de elemente aflate n stiv.
n alocare static, pentru a gestiona o stiv este nevoie de un vector notat ST mpreun cu
un indice P numr natural, care este poziionat pe primul element din stiv. Se consider c
elementele stivei vor fi memorate n locaiile : ST[1], ST[2], ... , ST[P].
Atunci operaiile cu stiva ST pot fi astfel detaliate n pseudocod:
1. Iniializarea drept stiv vid: P0;
2. Testul de stiv vid (expresie logic): P=0;
3. Introducerea n stiv a elementului A citit de la tastatur:
citeste A;
PP+1;
ST[P]A;
4. Extragerea din stiv i tiprirea valorii A:
daca (P!=0) atunci
AX[P];
PP-1;
scrie A;

altfel
scrie stiva vida

5. Tiprirea coninutului curent al stivei:


pentru I1 la P executa
scrie ST[I];

Cerin: S se scrie un program ce execut la cererea utilizatorului operaiile de:


adugare a unui element n stiv (codificat cu 1), de extragere a unui element din stiv
(codificat cu 2), de listare a coninutului stivei (codificat cu 3). La apsarea tastei 4 programul
de ncheie, iar la nceputul programului stiva va fi vid.

Aplicatii
Problema 1. S se citeasc succesiv elementele unui vector i apoi s se tipreasc acest
ir n ordine invers. Se vor folosi numai operaiile de lucru definite cu o stiv alocat static.
Problema 2. Fie un capt de cale ferat la care se poate ajunge prin dou linii: o linie de
intrare a vagoanelor i linia de ieire a acestora. Se presupune c iniial exist un numr de N
vagoane, numerotate n ordine de la 1 la N, pe linia de intrare. Dndu-se un ir valid de 2*N
operaii de introducere (codificat cu 0) i extragere (codificat cu valoarea 1) s se tipreasc
ordinea vagoanelor pe linia de ieire. irul de operaii este valid dac el conduce la introducerea
i extragerea tuturor vagoanelor i n niciun moment nu se cere efectuarea unei extrageri dac n
captul de linie nu exist vagoane (stiv vid).
Exemplu: Pentru N=3 sunt trei vagoane n ordinea: 1, 2, 3. Dac se aplic irul de
operaii 0 0 1 1 0 1, atunci pe linia de ieire vagoanele vor fi extrase n ordinea: 2, 1, 3.

Teorie coada
Coada este, ca i stiva, un tip particular de list, n care introducerile se fac la unul din
capete, numit i baza cozii iar extragerile doar la captul opus, numit vrful cozii.
Operaiile cu o coad sunt: iniializarea ca o coada vid, introducerea unui nou element la
baza cozii, testul de coad vid, extragerea elementului din vrful cozii.
Coada se implementeaz static folosind un vector C, mpreun cu doi indici P i U.
Indicele U este poziionat pe ultimul element din coad, iar indicele P cu o poziie naintea
primului element din coad. Astfel nct, att la introducere ct i la extragere mai nti se
modific U respectiv P.
n pseudocod:
1. Iniializarea se rezum la atribuirile:
P0;
U0;
2. Introducerea unui nou element nseamn:
citeste A;
UU+1;
C[U]A;
3. Pentru extragerea primului element trebuie mai nti fcut testul de coad vid:
daca (P=U) atunci
scriecoada vida.STOP

altfel
PP+1;
AC[P];
scrie A;

Toate operaiile au ordinul de complexitate O(1).


Cerin: S se scrie un program ce execut la cererea utilizatorului operaiile de:
adugare a unui element n coad (codificat cu 1), de extragere a unui element din coad
(codificat cu 2), de listare a coninutului cozii (codificat cu 3). La apsarea tastei 4 programul
se ncheie, iar la nceputul programului coada va fi vid.

Aplicatii
Problema 1. Deoarece prin operaiile de introducere i extragere de elemente din coad,
datele migreaz ctre baza cozii, pentru o mai bun gestionare a memoriei este util ca vectorul
ce reine elementele cozii s fie imaginat circular, adic dup ultima poziie s urmeze din nou
prima sa poziie. Ca n figura urmtoare:

n aceast figur este reprezentat o coad circular ce conine trei elemente, n ordine: 3,
7, 5. Operaiile de introducere i extragere se modific corespunztor n cazul n care P sau U
depesc numrul maxim N de poziii ale vectorului.
Testul de coad vid rmne P=U, iar pentru a distinge cazurile de coad vid i coad
plin se vor folosi efectiv doar maxim N-1 poziii din vector. Testul care arat umplerea tuturor
poziilor (coad plin) este: (U+1)%N=P.
Iat n pseudocod introducerea i extragerea dintr-o coad circular:
citeste A;
daca (P=U) atunci
scriecoada vida.STOP
UU+1;

altfel
daca (U>N) atunci

PP+1;
U1;
daca (P>N) atunci

P1;
daca (P=U) atunci
scriecoada plina.STOP

altfel

AC[P];
C[P]A;

scrie A;

Cerin: S se scrie un program ce execut la cererea utilizatorului operaiile de:


adugare a unui element ntr-o coad circular (codificata cu 1), de extragere a unui element din
coada circular (codificat cu 2). La apsarea tastei 3 programul de ncheie, iar la nceputul
programului coada va fi vid.

Problema 2. Fie o linie bifurcat de cale ferat ca n figura de mai jos:

Un numr de N vagoane se afl pe linia de intrare in ordinea: 1, 2, ... , N. Se poate


executa succesiv cte una din urmtoarele micri:
1: in_coada: vagonul curent intr pe linia de ateptare.
2: out_coada: un vagon iese de pe linia de ateptare.
3: trece: vagonul curent trece la ieire folosind linia direct.
Fiind dat un ir corect de micri, s se afieze ordinea la ieire a celor N vagoane.
Exemplu: N=4 irul de micri S=(1, 3, 1, 3, 2, 2) Atunci ordinea vagoanelor pe linia de
ieire este: 2, 4, 1, 3.

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

  • Model de Subiecte Informatică Pascal Bac 2016
    Model de Subiecte Informatică Pascal Bac 2016
    Document3 pagini
    Model de Subiecte Informatică Pascal Bac 2016
    RoxanaGaraiman
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Caracterizare Neculai Isac Bun
    Caracterizare Neculai Isac Bun
    Document2 pagini
    Caracterizare Neculai Isac Bun
    Billy
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • E D Informatica C SP MI 2016 Var Model LGE
    E D Informatica C SP MI 2016 Var Model LGE
    Document3 pagini
    E D Informatica C SP MI 2016 Var Model LGE
    Alungulesei Gabriel
    Încă nu există evaluări
  • Fisiere
    Fisiere
    Document23 pagini
    Fisiere
    Cercel Ana Maria
    Încă nu există evaluări
  • Harap Alb
    Harap Alb
    Document4 pagini
    Harap Alb
    Billy
    Încă nu există evaluări
  • Neculai Isac
    Neculai Isac
    Document2 pagini
    Neculai Isac
    Billy
    Încă nu există evaluări
  • Document 2
    Document 2
    Document1 pagină
    Document 2
    Billy
    Încă nu există evaluări
  • E Informatica C
    E Informatica C
    Document200 pagini
    E Informatica C
    Cristian Ionut
    Încă nu există evaluări
  • 2015 Istorie Locala Gorj Clasa A Xia Subiecte
    2015 Istorie Locala Gorj Clasa A Xia Subiecte
    Document2 pagini
    2015 Istorie Locala Gorj Clasa A Xia Subiecte
    Billy
    Încă nu există evaluări
  • Neculai Isac
    Neculai Isac
    Document2 pagini
    Neculai Isac
    Billy
    Încă nu există evaluări
  • Tropicale
    Tropicale
    Document4 pagini
    Tropicale
    Billy
    Încă nu există evaluări
  • Mallorca - Excursii Optionale
    Mallorca - Excursii Optionale
    Document3 pagini
    Mallorca - Excursii Optionale
    Billy
    Încă nu există evaluări
  • Obiceiuri de Craciun
    Obiceiuri de Craciun
    Document19 pagini
    Obiceiuri de Craciun
    Billy
    Încă nu există evaluări
  • Mediul Padurilor Ecuatoriale
    Mediul Padurilor Ecuatoriale
    Document5 pagini
    Mediul Padurilor Ecuatoriale
    Billy
    Încă nu există evaluări
  • Mediul Padurilor Ecuatoriale
    Mediul Padurilor Ecuatoriale
    Document5 pagini
    Mediul Padurilor Ecuatoriale
    Billy
    Încă nu există evaluări
  • Tropicale
    Tropicale
    Document4 pagini
    Tropicale
    Billy
    Încă nu există evaluări
  • Mediul Padurilor Ecuatoriale
    Mediul Padurilor Ecuatoriale
    Document5 pagini
    Mediul Padurilor Ecuatoriale
    Billy
    Încă nu există evaluări