Em janeiro fiz a matéria de Estrutura de Dados I no curso de verão da UFES. Durante o curso aprendemos sobre as estruturas de dados: pilhas,  filas,  listas e árvores. Implementei as estruturas usando a linguagem C. Vou postar um pouco do que aprendi sobre cada uma delas em partes.
PARTE I: PILHAS
A pilha ou stack é uma estrutura de dados bem simples. A sigla LIFO (last in, first out) caracteriza seu funcionamento. Todos os elementos são acessados pelo topo. Ou seja, ao inserir/empilhar um novo elemento ele passa a ser o topo da nossa pilha. E o único elemento que pode ser excluÃdo/desempilhado é o elemento do topo. Os elementos são removidos na ordem inversa à quela em que foram inseridos. Podemos usar como exemplo uma  pilha de livros, no qual ao se colocar diversos elementos uns sobre os outros, se quisermos pegar o livro mais abaixo deveremos tirar todos os livros que estiverem sobre ele. Essa estrutura é uma das mais utilizadas na programação sendo também utilizada para acesso em vários hardwares de máquinas modernas. As principais funções implementadas na pilha para manipular os elementos são: PUSH e POP, utilizadas para empilhar e desempilhar, respectivamente.
A figura abaixo mostra o funcionamento conceitual de uma pilha:
Explicação da figura passo a passo:
I Â - Push(a) – Empillha elemento “a”, que passa a ser o topo
II Â - Push(b) – Empillha elemento “b”, que passa a ser o topo
III Â - Push(c) – Empillha elemento “c”, que passa a ser o topo
IV Â - Pop(c) Â - Dempillha elemento “c”, e retorna ele
V Â - Push(d) – Empillha elemento “d”, que passa a ser o topo
VI Â - Pop(d) Â - Dempillha elemento “d”, e retorna ele
Há várias implementações possÃveis de uma pilha, que se distinguem pela natureza dos seus elementos, pela maneira como os elementos são armazenados e pelas operações disponÃveis para o tratamento da pilha.
A diferença entre elas é simples: na pilha estática, um vetor é utilizado para armazenamento dos dados, ou seja, há uma quantidade fixa de elementos. Já na pilha dinâmica os elementos são alocados dinamicamente e armazenados em uma lista encadeada.
tarsis azevedo
16th fev, 11
Mto manero o post! xD
Parabens!
ps: uma dica: coloca o codigo no blog e um teste pra mostrar como funciona
atAndressa Agnhesi
16th fev, 11
Obrigada pelas dicas.
atFrancisco Souza
16th fev, 11
Parabéns de novo!
Keep hacking
at