Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Entendendo Algoritmos - Introdução

Posted on Oct 1 Este texto é direcionado a galera iniciante que vai acompanhar a leitura mas não possui conhecimento técnico aprofundado. Caso você já possua uma experiência prévia, este texto pode te complementar algo, mas não é direcionado a você.Se você está chegando agora no mundo da programação e não sabe onde tá amarrando o jegue, vou te explicar partes necessárias para absorver 100% o que o livro se propõe a nos ensinar. De antemão é necessário ter o conhecimento de alguns elementos que estão presentes em todo o livro. Há sempre uma breve explicação dentro do livro, mas considero que não é suficiente pra você que estar caindo de paraquedas na área e deseja prosseguir com o estudo. O Algoritmo é uma solução aplicada a um problema computacional que nos resulta em uma resposta. Por mais que a sua representação seja feita em linhas de código, a lógica, o custo e a sua representação ainda serão matemática. Por isso será necessário revisar alguns conceitos. Sim, eu sei, "Ain não precisa de matemática para programar" é, sim, claro, concordo em discordar... O livro trata de custo computacional entre os algoritmos então, Vamos apenas relembrar 3 conceitos. Abaixo, o tema e links que vão te ajudar a não passar batido por estes temas: Conjuntos - vídeo / artigoFunções - vídeo / artigoLogaritmo - vídeo / artigoPassou, passou. A matemática malvada foi embora. O neném pode voltar a fingir que não utilizamos matemática para programar. Só que, vamos ter que fazer pior neste exato momento. Vamos utilizar o português!Calma, volta aqui. Não vamos escrever um texto longo e cansativo como este, somente um passo a passo do que o seu algoritmo deve fazer, afinal não é todo mundo que tem disponível o tempo hábil de programar. Pessoas com a senioridade maior apenas deixam escritas uma "receita" para que outro desenvolvedor possa transcrever. Não é mesmo sênior de 2 anos? rs. Vamos ao exemplo:Um pseudocódigo totalmente léxico é complexo, além de ser bem chato de se fazer. Vamos simplificar misturando símbolos operacionais:Simples, legível e explicado. Até pessoas que não são da área entendem quais são os passos a seguir no seu código. Desta maneira você poderá resolver o máximo de questões possíveis. Algumas empresas utilizam pseudocódigo na entrevista técnica, é legal saber montar um. Tá, mas e se existisse uma linguagem de programação que fosse tão simples quanto um pseudocódigo para ajudar? Daí que entra o Python. O Python é uma linguagem de programação que emula a facilidade da escrita de um algoritmo por pseudocódigo. Vamos tentar reproduzir o pseudocódigo anterior em Python:Se você sabe algo de inglês dá pra se notar que não há quase nada de diferença entre o pseudocódigo com o Python. Pra mim esta é a beleza da linguagem. A sua facilidade. Caso você ainda não possua Python na sua máquina, baixe aqui. Vai ser importante ter uma linguagem simples durante o curso para exercitarmos alguns conteúdos. Caso você ainda não possua uma IDE instalada no seu computador, baixe o Vscode aqui. Temos a teoria e o ferramental para se desenvolver um algoritmo, agora precisamos de algo que os classifique. Para isso, temos a notação Big O. Algoritmos em computação tem vários comportamentos que variam sobre muitas circunstâncias. Tempo de execução, tamanho de dados, tipo de processamento, velocidade da máquina, tudo isso interfere no cálculo e no desempenho de um algoritmo.Então para a padronização, cientistas da computação (sempre eles...) inventaram a notação em Big O, que reflete o custo do algoritmo no pior caso possível. Levando em consideração a lei de Murphy. Aquela famosa regrinha, prepare-se para o pior. Para saber mais sobre o Big O notation, acesse o link da freeCodeCamp, onde você vai encontrar um post com a explicação do que exatamente é o Big O, como calcular, como classifica-lo etc. Vale conferir. Ok, com tudo pronto, vamos apenas seguir os exercícios do livro? ah mas vocês acham mesmo? Mas é óbvio que não! Vamos explorar o mundo da programação competitiva, só que de uma maneira café com leite.Iremos utilizar o beecrowd para exercitar os algoritmos.O beecrowd é uma plataforma de competições online que armazena milhares de exercícios com vários temas de algoritmo. Não iremos participar de competições mas podemos resolver questões de competições anteriores para exercitar o que aprendemos. Para participar o beecrowd não é necessário pagar nada, só concluir o seu cadastro e navegar pelo site. As questões são separadas em níveis e diferentes temas de exercício. A plataforma é bem intuitiva, nós temos uma questão e um campo de submissão (que pode ser apenas um copiar e colar). Sem muito galho. Ao longo da semana, irei postar os materiais extras sobre os capítulos e alguns links de exercícios do beecrowd, então seria como um desafio extra ao finalizar a leitura do livro, para aprender aquele tal algoritmo. Espero que este material tenha te ajudado até aqui e se for possível compartilha, me deixa um comentário, uma reação, um sinal jedi que for e me grita se tiver dificuldade em algum destes passos. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well Confirm For further actions, you may consider blocking this person and/or reporting abuse Indrakant Mishra - Sep 28 Shilleh - Sep 6 Anand Das - Sep 28 teri - Sep 28 Once suspended, loremimpsu will not be able to comment or publish posts until their suspension is removed. Once unsuspended, loremimpsu will be able to comment and publish posts again. Once unpublished, all posts by loremimpsu will become hidden and only accessible to themselves. If loremimpsu is not suspended, they can still re-publish their posts from their dashboard. Note: Once unpublished, this post will become invisible to the public and only accessible to Lorem Impsu. They can still re-publish the post if they are not suspended. Thanks for keeping DEV Community safe. Here is what you can do to flag loremimpsu: loremimpsu consistently posts content that violates DEV Community's code of conduct because it is harassing, offensive or spammy. Unflagging loremimpsu will restore default visibility to their posts. DEV Community — A constructive and inclusive social network for software developers. With you every step of your journey. Built on Forem — the open source software that powers DEV and other inclusive communities.Made with love and Ruby on Rails. DEV Community © 2016 - 2023. We're a place where coders share, stay up-to-date and grow their careers.



This post first appeared on VedVyas Articles, please read the originial post: here

Share the post

Entendendo Algoritmos - Introdução

×

Subscribe to Vedvyas Articles

Get updates delivered right to your inbox!

Thank you for your subscription

×