Vídeo: O que é algoritmo? 2024
Algoritmos são tudo sobre encontrar soluções, e quanto mais rápido e fácil, melhor. Embora as pessoas tenham resolvido os algoritmos manualmente há literalmente milhares de anos, fazer isso pode consumir enormes quantidades de tempo e requer muitos cálculos numéricos, dependendo da complexidade do problema que deseja resolver.
Existe uma enorme lacuna entre os algoritmos matemáticos historicamente criados por gênios de seu tempo, como Euclid, Newton ou Gauss, e algoritmos modernos criados em universidades, bem como laboratórios privados de pesquisa e desenvolvimento. O principal motivo dessa lacuna é o uso de computadores.
Usar computadores para resolver problemas ao empregar o algoritmo apropriado acelera significativamente a tarefa, razão pela qual o desenvolvimento de novos algoritmos progrediu tão rapidamente desde a aparência de sistemas de computador poderosos. Na verdade, você pode ter notado que mais e mais soluções para problemas aparecem rapidamente hoje, em parte, porque o poder do computador é barato e aumenta constantemente. Dada a sua capacidade de resolver problemas usando algoritmos, os computadores (às vezes sob a forma de hardware especial) estão se tornando onipresentes.
Ao trabalhar com algoritmos, você considera as entradas, as saídas desejadas e o processo (uma seqüência de ações) usado para obter uma saída desejada de uma determinada entrada. No entanto, você pode obter a terminologia errada e ver algoritmos no caminho errado porque você realmente não considerou como eles funcionam em uma configuração do mundo real. A terceira seção do capítulo discute os algoritmos de maneira real, ou seja, visualizando as terminologias usadas para entender algoritmos e apresentar algoritmos de forma a que o mundo real seja geralmente menos do que perfeito. Compreender como descrever um algoritmo de uma forma realista também permite que as expectativas de temperamento reflitam as realidades do que um algoritmo realmente pode fazer.
Alguns algoritmos que você trabalha requerem a entrada de dados em uma forma específica, o que às vezes significa mudar os dados para corresponderem aos requisitos do algoritmo. A manipulação de dados não altera o conteúdo dos dados. O que faz é mudar a apresentação e a forma dos dados para que um algoritmo possa ajudá-lo a ver novos padrões que não eram evidentes antes (mas estavam realmente presentes nos dados o tempo todo).
Consulte as seguintes definições para termos que as pessoas muitas vezes confundem com algoritmos (mas não são):
- Equação: Números e símbolos que, quando considerados como um todo, equivalem a um valor específico.Uma equação sempre contém um sinal de igual para que você saiba que os números e símbolos representam o valor específico no outro lado do sinal de igual. As equações geralmente contêm informações variáveis apresentadas como um símbolo, mas não são necessárias para usar variáveis.
- Fórmula: Uma combinação de números e símbolos usados para expressar informações ou idéias. As fórmulas normalmente apresentam conceitos matemáticos ou lógicos, como a definição do maior Divisor comum (GCD) de dois inteiros (este vídeo informa como isso funciona). Geralmente, eles mostram a relação entre duas ou mais variáveis. A maioria das pessoas vê uma fórmula como um tipo especial de equação.
• Algoritmo: Uma seqüência de etapas usada para resolver um problema. A seqüência apresenta um método exclusivo de abordar um problema, fornecendo uma solução particular. Um algoritmo não precisa representar conceitos matemáticos ou lógicos, mesmo que as apresentações neste livro muitas vezes se enquadrem nessa categoria, porque as pessoas geralmente usam algoritmos dessa maneira. Algumas fórmulas especiais também são algoritmos, como a fórmula quadrática. Para que um processo represente um algoritmo, ele deve ser
- Finito: O algoritmo deve eventualmente resolver o problema. Este livro discute problemas com uma solução conhecida para que você possa avaliar se um algoritmo resolve o problema corretamente.
- Bem definido: A série de etapas deve ser precisa e apresentar etapas que são compreensíveis. Especialmente porque os computadores estão envolvidos no uso do algoritmo, o computador deve ser capaz de entender as etapas para criar um algoritmo utilizável.
- Eficaz: Um algoritmo deve resolver todos os casos do problema para o qual alguém o definiu. Um algoritmo deve sempre resolver o problema que ele tem para resolver. Mesmo que você antecipe algumas falhas, a incidência de falha é rara e ocorre apenas em situações aceitáveis para o uso do algoritmo pretendido.