Professional Documents
Culture Documents
S
0 1 2 t
Pilhas baseadas em Arrays
O array pode ficar
cheio
Algoritmo push(o)
A operao push pode Se (t = S.length 1)
ento levantar a
throw EPilhaCheia
exceo EPilhaCheia
Est uma limitao da
seno
implementgao tt+1
baseada em arrays S[t] o
No intrnsico do TAD
Pilha
S
0 1 2 t
Desempenho e limitaes
Desempenho
Seja n o nmero de elemento na pilha
O espao usado O(n)
Cada operao roda em tempo O(1)
Limitaes
O tamanho mximo deve ser definido a priori e
no pode ser mudado
Tentando colocar um novo elemento numa pilha
cheia causa uma exceo especfica da
implementao (array)
Alcance (span)
7
Veremos a apliao da Pilha 6
como estrutura de dados 5
auxiliar em um algoritmo
4
Dado um array X, o alcance
S[i] de X[i] o nmero 3
mximo de elementos 2
consecutivos X[j] 1
imediatamente precedendo 0
X[i] e X[j] X[i]
0 1 2 3 4
Alcances tm aplicaes em
anlise financeira
X 6 3 4 5 2
Estoque em 52 semanas
S 1 1 2 3 1
Algoritmo quadrdico
Algoritmo alcance1(X, n)
Entrada array X de n inteiros
Sada array S dos alcances de X #
S novo array de n inteiros n
para i 0 at n 1 faa n
s1 n
enquanto ( s i X[i s] X[i]) 1 + 2 + + (n 1)
ss+1 1 + 2 + + (n 1)
S[i] s n
retorne S 1