A menos que você esteja em matemática ou em programação, a palavra "algoritmo" pode ser grega para você, mas é um dos elementos básicos de tudo o que você está usando para ler este artigo. Aqui está uma rápida explicação do que eles são, e como eles funcionam.
Aviso: Eu não sou um professor de matemática ou de ciências da computação, então nem todos os termos que uso são técnicos. Isso porque estou tentando explicar tudo em linguagem simples para as pessoas não se sentirem muito à vontade com a matemática. Dito isto, há alguma matemática envolvida, e isso é inevitável. Geeks de matemática, sinta-se à vontade para corrigir ou explicar melhor nos comentários, mas por favor, mantenha simples para os matematicamente desinclinados entre nós.
Imagem por Ian Ruotsala
Um Conjunto Básico de Instruções
(imagem intitulada “Icebreaking Routine” EDIT: cortesia de Trigger e Freewheel)
Do START, você faria Siga o caminho, e dependendo do que acontece, você segue o "fluxo" para um resultado final. Fluxogramas são ferramentas visuais que podem representar, de forma mais compreensível, um conjunto de instruções usadas pelos computadores. Da mesma forma, os algoritmos ajudam a fazer o mesmo com mais modelos baseados em matemática.
Gráficos
Podemos expressar esse gráfico como uma conexão entre todos os seus pontos. Para reproduzir essa imagem, podemos dar um conjunto de instruções a outra pessoa.
Método 1
Podemos representar isso como uma série de pontos, e as informações seguiriam a forma padrão de gráfico = {(x1 , (x2, yn)}.
gráfico = {(0,0), (3,0), (3,3) 7,10), (8,7), (9,4), (10,1)}
É muito fácil traçar cada ponto, um após o outro, e conectá-los ao ponto anterior. No entanto, imagine um gráfico com milhares de pontos ou múltiplos segmentos indo todos os lados. Essa lista teria muitos dados, certo? E então ter que conectar cada um, um de cada vez, pode ser uma dor
Método 2
Outra coisa que podemos fazer é dar um ponto de partida, a inclinação da linha entre ele e o próximo ponto, e indique onde esperar o próximo ponto usando a forma padrão do gráfico = {(ponto de partida}, [m1, x1, h1],…, [mn, xn, hn]}. Aqui, a variável 'm' representa a inclinação de a linha, 'x' representa a direção a ser contada (se x ou y), e 'h' indica quantos pontos devem ser contados nessa direção. Você também pode lembrar de plotar um ponto após cada movimento.
graph = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [- 3, x, 1], [-3, x, 1]}
Você terminará com o mesmo gráfico. Você pode ver que os últimos três termos nesta expressão são os mesmos, então podemos ser capazes de reduza isso apenas dizendo "repita isso três vezes" de alguma forma. Digamos que sempre que você vir a variável 'R' aparecer, significa repetir a última coisa. Podemos fazer isso:
graph = {(0 , 0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [R = 2]}
E se os pontos individuais realmente não importarem, e apenas o gráfico em si o fizer? Podemos consolidar essas últimas três seções assim:
grafo = {(0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 3]}
Ele encurta um pouco as coisas de onde eles estavam antes.
Método 3
Vamos tentar fazer isso de outra forma.
y = 0, 0≤x≤3
x = 0, 0 ≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10
Aqui nós o temos em termos algébricos puros. Mais uma vez, se os pontos em si não importam e apenas o gráfico, podemos consolidar os três últimos itens
y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤10
Agora, qual método você escolhe depende de suas habilidades. Talvez você seja ótimo com matemática e gráficos, então você escolhe a última opção. Talvez você seja bom em navegar, então você escolhe a segunda opção. No reino dos computadores, no entanto, você está fazendo muitos tipos diferentes de tarefas e a capacidade do computador não muda realmente. Portanto, os algoritmos são otimizados para as tarefas que eles concluem.
Outro ponto importante a ser observado é que cada método se baseia em uma chave. Cada conjunto de instruções é inútil, a menos que você saiba o que fazer com elas. Se você não sabe que você deve plotar cada ponto e conectar os pontos, o primeiro conjunto de pontos não significa nada. A menos que você saiba o que cada variável significa no segundo método, você não saberá como aplicá-las, da mesma forma que a chave para uma cifra. Essa chave também é parte integrante do uso de algoritmos e, muitas vezes, essa chave é encontrada na comunidade ou por meio de um padrão.
Compactação de arquivos
Os algoritmos de compactação são ajustados e otimizados especificamente para os tipos de arquivos para os quais são direcionados. Os formatos de áudio, por exemplo, usam uma maneira diferente de armazenar dados que, quando decodificados pelo codec de áudio, fornecerão um arquivo de som semelhante à forma de onda original. Para mais informações sobre essas diferenças, confira nosso artigo anterior, Quais são as diferenças entre todos esses formatos de áudio? Formatos de áudio sem perdas e arquivos .zip têm uma coisa em comum: ambos produzem os dados originais em sua forma exata após o processo de descompactação. Codecs de áudio com perdas usam outros meios para economizar espaço em disco, como freqüências de corte que não podem ser ouvidas por ouvidos humanos e suavizar a forma de onda em seções para se livrar de alguns detalhes. No final, apesar de podermos não ser capazes de realmente ouvir a diferença entre uma faixa de MP3 e uma de CD, há definitivamente um déficit de informação na primeira. <> Criptografia de dados
Algoritmos também são usados para proteger dados ou comunicação. linhas. Em vez de armazenar dados para que ele use menos espaço em disco, ele é armazenado de maneira indetectável por outros programas. Se alguém roubar seu disco rígido e começar a digitalizá-lo, ele poderá coletar dados mesmo quando você excluir arquivos porque os dados em si ainda estão lá, mesmo que o local de encaminhamento tenha desaparecido. Quando os dados são criptografados, o que está armazenado não se parece com o que é. Geralmente parece aleatório, como se a fragmentação tivesse se acumulado ao longo do tempo. Você também pode armazenar dados e fazer com que apareça como outro tipo de arquivo. Arquivos de imagem e arquivos de música são bons para isso, pois podem ser bastante grandes sem levantar suspeitas, por exemplo. Tudo isso é feito usando algoritmos matemáticos, que pegam algum tipo de entrada e a convertem em outro tipo de saída muito específico. Para obter mais informações sobre como funciona a criptografia, confira HTG explica: o que é criptografia e como ela funciona?
Desabilitar todos os balões de notificação em qualquer versão do Windows
Se você for como eu, detesta ver todos os balões de notificação pop-up exibidos pelo Windows. Eles variam de alertas de segurança do computador a alertas de atualização e muito mais. Hoje vamos ensinar como desabilitar esses balões de notificação no Windows 8, 8.1 e 10. Observe que este tutorial é sobre desabilitar as notificações do sistema, no entanto, se você quiser desabilitar as notificações específicas do aplicativo, também conhecidas como Toaster notificações, você precisará ler Como desativar as notificações de torradeira no Windows 8.
O que significa “Bricking” um dispositivo?
Quando alguém quebra um dispositivo e o transforma em um tijolo caro, as pessoas dizem que o “bricked”. Nós cobriremos exatamente o que causa bricking e por que, como você pode evitá-lo, e o que fazer se você tiver um dispositivo bricked. Tenha em mente que muitas pessoas usam o termo “bricking” incorretamente e se referem a um dispositivo que não está funcionando corretamente como "bricked".