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 04 setembro 2022
Atualizado em 04 setembro 2022
Palavras-chave: busca,linear,search,algoritmo,programacao,ciencia,computacao,informatica
Visualizações: 1872
A digitalização tem sido adotada como solução em muitos campos do mercado. Automóveis, eletrodomésticos e celulares recentes, geralmente possuem um computador embutido, trazendo muitas vantagens como integração com outros dispositivos, possibilitando a internet das coisas.
Essa digitalização exige mais programadores na área e estimula o campo de informática a evoluir em muitos aspectos. Hoje, diversas linguagens de programação estão disponíveis para implementação de sistemas, cada linguagem contém suas vantagens e são adequados para determinadas tarefas.
Por mais que as linguagens de programação tenham suas diferenças, processos de repetição (loops) certamente estão presentes em todas elas. Essas repetições são essenciais quando o assunto é sobre algoritmos. Quando falamos sobre algoritmos de repetição, sem dúvida a busca linear é o algoritmo mais comum.
A busca linear, também chamada de busca sequencial é um algoritmo de força bruta, portanto não sendo considerado um algoritmo muito eficiente em alguns casos.
Esse algoritmo pesquisa cada elemento em uma estrutura de dados até encontrar o elemento procurado. Portanto, sendo linear e necessitando mais tempo de processo para chegar ao resultado final conforme os dados de entrada vão aumentando.
Se medirmos a eficiência da busca linear usando o método da notação do O grande teremos O(n), que na escala é classificado como “aceitável”.
Apesar de não ser um algoritmo tão eficiente é o mais fácil de implementar graças a sua simplicidade.
As máquinas recentes podem executar código com uma velocidade extremamente alta, portanto quando a quantidade de dados de entrada não é muito grande, o desempenho da máquina não muda significativamente.
A busca linear é um algoritmo simples que pode ser implementado rapidamente, agilizando o desenvolvimento de sistemas.
Não é recomendável utilizar a busca linear quando a quantidade de dados é muito grande.
Por exemplo, quando há a necessidade de buscar determinados elementos em estrutura de dados contendo 30.000 linhas (records) de dados, outros algoritmos mais eficientes devem ser adotados, como a busca binária.
A implementação de um algoritmo de busca linear simples necessita apenas de uma repetição e uma condição para ser estabelecida.
function elementoExiste(array $lista, string $elementoProcurado): boolean {
// Repetição
foreach ($lista as $linha) {
// Condição
if ($linha == $elementoProcurado) {
// Se elemento existir, retorna verdadeiro
return true;
}
}
// Se não existir o elemento na lista retorna falso
return false;
}
// lista simples de frutas
$lista = [
'maçã',
'laranja',
'melancia',
'abacaxi'
];
// resultado: true
echo elementoExiste($lista, 'melancia');
A busca linear é um algoritmo de força bruta não muito eficiente, mas com grande simplicidade, sendo utilizada regularmente por programadores.
Conforme os dados de entrada ficam maiores, mais tempo de processamento será necessário para a busca linear chegar até o resultado.
Projetos práticos
Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.
Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela
Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.
Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.
Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.
Um computador conectado à internet está exposto a diversos perigos. O spyware é um deles e é esse malware responsável por roubar contas de redes sociais.
Hoje em dia não é mais necessário gastar o nosso tempo com tarefas que podem se automatizadas. Os robôs estão aqui para nos ajudar...
Caracterizam uma grandeza física que possui módulo, direção e sentido. Pode simular eventos como queda, atração e deslocamento de objetos em um meio.
Dois tipos de comportamentos que preveem o trajeto do alvo. Em outras palavras, esses dois algoritmos tomam decisões se baseando em informações do futuro.
Data Science ou ciência de dados, é uma área de computação que se concentra em extrair informações valiosas de grandes quantidades de dados.
A linguagem de programação é um conjunto de instruções que possuem um padrão de escritas, sendo um intermediário entre o programador humano e a máquina.