Estrutura de Dados Pilha Fila Lista
Existem aplicações para listas lineares nas quais inserções, retiradas e acessos a itens ocorrem sempre em um dos extremos da lista. Uma pilha é uma lista linear em que todas as inserções, retiradas e geralmente todos os acessos são feitos em apenas um extremo da lista.
Os itens em uma pilha estão colocados um sobre o outro, com o item inserido mais recentemente no topo e o item inserido menos recentemente no fundo.
O modelo intuitivo de uma pilha é o de um monte de pratos em uma prateleira, sendo conveniente retirar os pratos ou adicionar novos pratos na parte superior.
TAD Pilha (2/4)
As pilhas possuem a seguinte propriedade: O ÚLTIMO ITEM
INSERIDO É O PRIMEIRO ITEM QUE PODE SER RETIRADO
DA LISTA. Por esta razão as pilhas são chamadas de listas LIFO, termo formado a partir de “Last-In, First-Out”.
Existe uma ordem linear para pilhas, que é a ordem do "mais recente para o menos recente".
Esta propriedade torna a pilha uma ferramenta ideal para processamento de estruturas aninhadas de profundidade imprevisível, situação em que é necessário garantir que subestruturas mais internas sejam processadas antes da estrutura que as contenham. A qualquer instante uma pilha contém uma sequência de obrigações adiadas, cuja ordem de remoção da pilha garante que as estruturas mais internas serão processadas antes das estruturas mais externas.
TAD Pilha (3/4)
Estruturas aninhadas ocorrem frequentemente na prática. Um exemplo simples é a situação em que é necessário caminhar em um conjunto de dados e guardar uma lista de coisas a fazer posteriormente. O controle de chamadas de subprogramas e sintaxe de expressões aritméticas são exemplos de estruturas aninhadas.
As pilhas ocorrem também em conexão com algoritmos recurssivos e estrutura de natureza recursiva, tais como as árvores. Em Síntese: Pilha é um caso especial de Lista Linear.
TAD Pilha (4/4)
Um tipo abstrato de dados Pilha, acompanhado de um conjunto de operações, é apresentado a seguir.
1.