Pilhas Flashcards
(9 cards)
O que é uma Pilha (Stack) em Estruturas de Dados?
Uma Pilha é uma estrutura de dados que segue o princípio LIFO (Last In, First Out), onde o último elemento inserido é o primeiro a ser removido.
Quais são as operações principais em uma Pilha?
Push (Inserção), Pop (Remoção), Peek (Acesso ao topo), IsEmpty (Verificação se está vazia), IsFull (Verificação se está cheia).
Onde podemos usar uma Pilha na prática?
Undo/Redo em aplicativos, Navegação em navegadores, Algoritmos de busca e ordenação.
Qual a complexidade das operações em uma Pilha?
Push: O(1), Pop: O(1), Peek: O(1), IsEmpty/IsFull: O(1).
Como é a implementação de uma Pilha simples em C?
```c
#define MAX 100
int stack[MAX];
int top = -1;
void push(int value) {
if (top < MAX - 1) {
stack[++top] = value;
}
}
int pop() {
if (top >= 0) {
return stack[top–];
}
return -1; // Pilha vazia
}
int peek() {
if (top >= 0) {
return stack[top];
}
return -1; // Pilha vazia
}```
Qual é a diferença entre Pilha e Fila?
Pilha segue o princípio LIFO (Last In, First Out), enquanto Fila segue o princípio FIFO (First In, First Out).
O que acontece se tentarmos fazer um Pop em uma pilha vazia?
Tentar fazer um Pop em uma pilha vazia pode retornar um valor de erro, como -1 ou null, dependendo da implementação.
Como gerenciar uma Pilha com capacidade limitada?
Verificar a capacidade da pilha antes de fazer o Push. Se a pilha estiver cheia, retornar um erro ou sinalizar a operação não permitida.
Quais são as vantagens de usar uma Pilha?
Simplicidade, Eficiência (operações Push e Pop com O(1)), Utilização em algoritmos como recursão e navegação.