Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
Categoria de Programação
Postado em 18 agosto 2022
Atualizado em 18 agosto 2022
Visualizações: 644
Na programação, existem vários tipos de implementação que ajudam a melhorar a performance do algoritmo em alguns aspectos. Dependendo dos requisitos do programa, diferentes implementações devem ser adotadas.
A estrutura de dados no conceito da programação, estuda as formas de implementação para melhorar as operações de algoritmos.
Quanto mais dados a serem processados, mais o processo deve ser levado em consideração, pois um algoritmo mal planejado pode gerar graves problemas para um programa.
Exemplos de estrutura de dados frequentemente utilizado na programação são a pilha e a fila.
Pilha vem do inglês stack.
A pilha é um tipo de estrutura de dados onde dados são empilhados um encima do outro. Stack se baseia no conceito de LIFO.
LIFO é a sigla para “last in first out”, em português, último a entrar é o primeiro a sair.
class Pilha {
// Número máximo de itens que podem ser empilhados
static final int MAX = 10;
// Item atual no topo de pilha
int topo;
// Até 10 itens podem ser empilhados
int pilha[] = new int[MAX];
Pilha() {
topo = -1;
}
// Empilhar
void push(int novoItem) {
if (topo >= (MAX - 1)) {
throw new Exception("Pilha cheia");
}
pilha[++topo] = novoItem;
}
// Extrair
int pop() {
if (topo < 0) {
throw new Exception("Pilha está vazia");
}
int itemExtraido = pilha[topo--];
return itemExtraido;
}
}
A pilha é uma técnica que pode ser usada em algoritmos que precisam de um processo iterativo recursivo. Isso significa que todos os dados podem ser extraídos na mesma ordem que foram inseridos.
Por isso, a pilha é utilizada quando a ordem de inserção dos dados importa.
Exemplos dessa implementação são o processo “desfazer”, disponível em todos os computadores e o botão de “retornar”, disponível em todos os navegadores.
A pilha é um método bastante simples, eficiente e de fácil gerenciamento. Graças a sua simplicidade, dificilmente apresenta problemas como corrompimento, portanto sendo considerado uma técnica bastante segura.
Quando dados são extraídos da pilha, eles são deletados da memória automaticamente, gerenciamento melhor a questão da utilização de memória da máquina.
Fila vem do inglês queue.
A fila é um tipo de estrutura de dados, enfileirando um item após o outros. Queue se baseia no conceito de FIFO.
FIFO é a sigla para “first in first out”, em português, primeiro a entrar é o primeiro a sair.
public class Fila {
int MAX = 5;
int fila[] = new int[MAX];
int frente, finalDaFila;
Fila() {
frente = -1;
finalDaFila = -1;
}
void enqueue(int objeto) {
if (frente == 0 && finalDaFila == MAX - 1) {
throw new Exception("Fila cheia");
}
if (frente == -1) {
frente = 0;
}
fila[++finalDaFila] = objeto;
}
int desenfileirar() {
int item;
if (frente == -1) {
throw new Exception("Fila vazia");
}
item = items[frente];
if (frente >= finalDaFila) {
frente = -1;
finalDaFila = -1;
} else {
frente++;
}
return item;
}
}
A fila é usada em ocasiões onde os dados serão extraídos na ordem de chegada. Diferente da pilha, onde o último item inserido é o primeiro a ser retirado.
As tarefas realizadas pelo CPU são um exemplo de fila. Essas tarefas são executadas pelo CPU em ordem de chegada.
Outro exemplo de fila é o drive thru, onde o primeiro carro a fazer o pedido será o primeiro a receber o lanche.
As vantagens da fila são as mesmas que pilha. A escolha entre os dois vai depender das necessidades do algoritmo.
Queue e Stack são conceitos extremamente comuns na programação. Sua implementação pode trazer grandes benefícios para algoritmos que precisam processar uma grande quantidade de dados, evitando o gasto de memória desnecessário e melhorando o gerenciamento desses dados de forma mais inteligente.
Poluição do ar, solo e água ainda é um grande problema para ser resolvido ainda em vários países. Há estudos que comprovam que os países mais poluentes podem causar câncer...
Alguns desses protocolos é o HTTP que usamos em nossos navegadores. Sem esses protocolos teríamos alguns problemas na comunicação de dispositivos através da internet.
Conjunto de variáveis e funções que podem ser encapsuladas em uma única unidade de instância e definir o escopo e a acessibilidade de cada elemento
HR Tech é um software que auxilia na gestão de pessoas, tornando-se possível o gerenciamento centralizado na área de recursos humanos.
Esse princípio é a capacidade de substituir um instância da classe parente com a instância da subclasse sem comprometer o funcionamento do algoritmo.
A programação orientada a objetos possui um contexto bastante semelhante com a vida real, facilitando a sua implementação e interpretação.