algoritmo esse termo se popularizou bastante com as redes sociais algoritmo do Instagram algoritmo do YouTube afinal tudo é culpa do algoritmo me decide exatamente o que que vai aparecer que tipo de conteúdo vai aparecer na sua tela ou no seu celular não é mesmo mas afinal o que são algoritmos nesse vídeo aqui a gente vai entender de forma bem prática O que são na verdade algoritmos e ver alguns tipos de algoritmos que são utilizados na resolução de problemas Esse é um conhecimento fundamental se você é programador e se você não é programador mas gosta de
tecnologia te convido a assistir esse vídeo porque eu tenho certeza que vai ser esclarecedor Bora para o vídeo [Música] Olá pessoal bora para mais um vídeo do Karate Kita seja bem-vindo ao meu canal Esse é um canal de tecnologia que tem muito conteúdo que vai te ajudar na sua jornada com o programador e se você não é programador muito conteúdo legal sobre tecnologia que você vai encontrar aqui seja muito bem-vindo ao meu canal Eu sempre respondo os comentários de vocês então se você tem alguma recomendação se você tem alguma sugestão alguma dúvida Não deixe de
comentar porque eu sempre escolho um comentário para ler no final do vídeo todo mundo que já é a Isa o canal aqui já sabe se você gostar desse conteúdo Não esquece de interagir porque assim você tá falando por algoritmo do YouTube que esse conteúdo aqui é relevante é o que a gente vai falar aqui no vídeo de hoje recentemente Eu fiz um vídeo sobre lógica da programação um vídeo introdutório e rápido de 10 minutos explicando conceitos básicos de lógica da programação e como a ideia do vídeo era ser realmente um conteúdo rápido eu acabei dando
uma pincelada ali em algoritmos então A ideia é voltar um pouco nesse tópico e aprofundar um pouquinho mais mostrando exemplos práticos de código mesmo para que você entenda melhor esse conceito principalmente Esse é um tema fundamental por isso merecia um vídeo dedicado para isso porque faz parte da base aquilo que a gente chama da base que todo programador deveria saber e novamente para esse conteúdo aqui eu conto com o apoio da escola dnc que tem uma metodologia tocada justamente em que na base cinco na etapa sem Fórmula Mágica não é um curso é uma formação
completa mesmo que vai te dar todo embasamento em Ciências da Computação muito antes de te ensinar conhecimentos ali práticos de mercado para que você seja o programador que usa as ferramentas a seu favor e não seja refém delas para que você seja um profissional que vai entregar o que o mercado pede mas que vai conseguir sempre evoluir aprender coisas novas porque você tem uma base sólida e o bacana que esse mês a escola dele você tá como oferta de virada de ano para que você não há disso os objetivos profissionais para saber mais sobre a
formação e tecnologia da escola deve ser essa o link na descrição desse vídeo você com certeza já ouviu falar que programadores são na verdade resolvedores de problemas isso mesmo a gente resolve problemas criando soluções utilizando a tecnologia do nosso favor e para que a gente possa efetivamente resolver esses problemas a gente vai basicamente escrever soluções para máquina para que a máquina nos ajude ali a resolver esses problemas Quando a gente fala empoderecer instruções para máquina a gente está falando em codificar utilizar a linguagem de programação para poder comunicar com essa máquina e quando a gente
fala em instruções a gente está justamente falando de algoritmos que que é um algoritmo algoritmo é basicamente uma sequência de instruções para que a gente possa resolver o problema ou realizar uma tarefa de forma eficiente só aí já deu para entender o quanto os algoritmos são importantes porque eles fazem parte da base né a base de resolução de problemas para que a gente consiga dar instruções para que a gente consiga estruturar as nossas instruções ali e resolver esses problemas nesse vídeo que eu fiz falando sobre conceitos básicos de lógica da programação eu sinto justamente com
algoritmo parece muito com o manual de instrução Com certeza você já comprou alguma coisa na internet que você precisa montar essa coisa uma cadeira um objeto que seja que você precisa seguir umas instruções para que aquilo seja montado basicamente seguir instruções para que você consiga fazer aquilo funcionar e é justamente por isso que eu gosto de comparar o manual de instruções com algoritmo porque você tem instruções que são sequenciadas Então você tem uma ordem para seguir os passos certinhos para que você consiga concluir aquela tarefa por exemplo montar essa cadeira Gamer aqui então tem todos
os passos quais parafusos você vai conectar ali na onde Para que você consiga de fato concluir aquela tarefa e quando a gente fala em redes sociais porque algoritmos e redes sociais bom as redes sociais são softwares complexos que tem diversos algoritmos para diversos propósitos né mas quando normalmente você ouve falar aí de algoritmo do YouTube ou do Instagram a gente tá falando especificamente do algoritmo de recomendação de conteúdo que vai decidir Que tipo de conteúdo vai aparecer no seu vídeo por exemplo como que ele vai saber exatamente Que tipo de conteúdo eu tenho que exibir
para Carol para aprender a atenção dela já que esse é o objetivo de toda rede social que você passa cada vez mais tempo interagindo ali como que ele pode saber o melhor conteúdo para você que tipo de parâmetros ele vai ver lá né tipo de lógica ele vai aplicar e verificar para poder sugerir o melhor conteúdo é justamente esse o problema que os algoritmos de conteúdo vieram para resolver então Digamos que a rede social ela tem um problema que tipo de conteúdo eu vou exibir para o meu usuário e através desses algoritmos recomendação ela vai
resolver esse problema Esse algoritmo então ele vai fazer uma série de cálculos considerando n fatores que podem verificar por exemplo Poxa que tipo de conteúdo a Carol costuma gostar e interagir mais que tipo de conteúdo dela tem mais afinidade pode fazer alguns cálculos em relação ao meu histórico ali de navegação pode verificar inclusive afinidades em comum que eu tenha com outros usuários que eu sigo por exemplo para poder recomendar conteúdos que estão em Trend né então tem uma série de cálculos que podem ser feitos para poder pensar no melhor conteúdo para exibir na tela para
que eu continuo interagindo ali é o chamado efeito Tik Tok o Tik Tok tem um algoritmo poderosíssimo que consegue realmente viciar os seus usuários é dopamina para todo lado para basicamente te manter ali na tela viciado prendendo a sua atenção de fato se você tivesse rede social qual seria o seu algoritmo de recomendação como você faria esse algoritmo Para para pensar e muito mais do que resolver problemas criando esses algoritmos um programador Ele precisa saber resolver problemas da melhor forma possível então de repente você usa um algoritmo mas na verdade ele não é tão performático
assim ele não é tão escalável assim então ele resolve um problema mas a medida com que você escala esse problema Esse algoritmo já não vai resolver isso de uma forma tão boa assim e eu vou dar um exemplo muito legal que são os algoritmos de busca que é bastante utilizado ali em vários tipos de software para a gente entender como que funciona o algoritmo de busca Pensa numa lista de número onde a gente vai ter o número 10 o número 12 o número 16 o número 18 e o número 22 pensando que essa lista ela
tá ordenada de forma crescente Como que você faria para buscar um número 16 nessa lista para para pensar acho que a forma lógica mais simples que você pode fazer não sabendo da posição do número que você está buscando seria verificar de um em um então eu vou começar desde o início eu 10 verifica se ele é o número 16 se ele não for vou para o próximo então eu vou no 12 verifico seria o número 16 se não for para o próximo caso 16 eu encontrei meu número e assim eu posso verificar aquele número realmente
existe naquela lista isso que nós fizemos aqui é bem trivial é bem Lógico é bem simples é o que a gente chama de algoritmo de busca linear e se a gente fosse escrever isso em código seria basicamente esse código que eu vou mostrar aí na tela para vocês escrito em Swift então basicamente a gente vai ter ali uma função de busca linear onde eu vou dar a minha lista de números e vou passar o valor que eu estou buscando ele vai fazer um loop ali Entre todos os números verificando um por um se aquele número
é o número buscado E se for eu vou retornar verdadeiro ou seja aquele número foi encontrado Beleza a gente tem um algoritmos a gente tem uma sequência de Passos ali de instruções basta serem seguidas para que a gente consiga cumprir a tarefa no caso achar o nosso número mas o que acontece se tiver buscando o número 13 aí nessa lista o que que vai acontecer vamos verificar a gente vai ali verificar o número 10 A gente vai ver número 12 número 16 o número 18 número 22 Ou seja a gente vai passar por todos os
números da lista a gente não vai encontrar o número 13 porque ele não tá na nossa lista mas pensando Justamente que os nossos números estão em ordem crescente Será que faz sentido eu continuar buscando o meu número sabendo que o número que eu estou buscando é maior do que aquele número será que eu não posso fazer uma verificação para otimizar esse algoritmo Com certeza e é isso que a gente tá fazendo aqui nesse outro código que eu vou mostrar aqui para tela então ele vai verificar número por número mas se o número que ele está
verificando for maior do que o número buscado ele já vai retornar falso ou seja ele já vai sair daquele loop eu não vou verificar os próximos números eu já tenho uma música mais otimizada nesse sentido quando você pensa em uma lista pequena de números isso não parece um problema mas quando você tem uma lista imensa de números Com certeza esse tipo de otimização faz muita diferença Agora imagina se a gente tivesse uma lista ali de 500 números Será que essa forma de buscar um por um seria a forma mais performática de fazer essa busca Será
que não tem outro tipo de lógica algoritmo que a gente possa utilizar para para pensar como que você busca uma página específica dentro de um livro e eu até peguei o meu livro aqui de CSS se avançado Esse é velho tá até sujo Inclusive essa da época que eu tava aprendendo programação há mais de 13 anos atrás galera olha só tem muito tempo esse livro aqui Então como que você faria para encontrar uma página específica nesse livro Será que seria olhar uma por uma não por exemplo se eu quisesse buscar a página sem eu ia
abrir em uma certa página que verificar se a página sem ela é menor ou maior do que a página que eu abrir e assim eu iria verificando ou seja de uma forma mais utilizada do que passando página por página para poder encontrar a página específica e É engraçado porque a gente faz isso mesmo que sem pensar a gente já tem esse raciocínio de Poxa eu vou abrindo um lugar eu vou verificar mais ou menos ali tá na parte que eu quero né mas essa lógica que a gente aplicou mesmo sem querer é um algoritmo muito
utilizado ali que é chamado de Bayer Em que consiste esse algoritmo esse algoritmo consiste em dividir para conquistar basicamente eu tô procurando uma página no desse número ali por exemplo tenho 500 páginas aqui nesse livro se eu quero procurar a página 200 que que eu vou fazer eu vou abrir no meio vou verificar ali em qual página eu estou se é maior ou menor do capaz de que eu tô buscando se for menor o que que eu vou fazer vou descartar toda essa metade aqui e vou buscar novamente na metade aqui então vou abrir na
metade aqui verificar se é menor ou maior e assim eu vou abrir no metade por metade até encontrar a página que eu estou buscando Ou seja é uma forma muito mais otimizada do que passar página por página verificando um por um se a página que eu tô buscando E como que ficaria isso no código no código isso ficaria basicamente essa função que eu vou mostrar aqui para vocês de byner surf basicamente a gente vai ter dois ponteiros o início e o fim e a gente vai mudando ali esses ponteiros de acordo com a nossa verificação
então sempre eu tenho Início o Fim eu botei um meio E aí eu vou fazendo a verificação se o valor que eu tô procurando é exatamente o meio ali entre o início e o fim então beleza é porque eu achei aquele valor que eu tava procurando então se ele for maior do que o meio aí mudar os meus ponteiros por exemplo se eu tô buscando a página 300 então vou fazer o seguinte ao invés do meu início ser o zero a página inicial e o meu pincei a página final do livro A minha página inicial
vai ser a página do Meio ou seja descartei toda a outra metade e continuei a busca e assim a gente vai restringindo cada vez mais o nosso início e fim e fazendo a nossa busca pelo valor do meio ali para encontrar o número que a gente está buscando bom e agora você já conhece dois algoritmos diferentes de busca que você pode aplicar de acordo com o seu problema e o que vai medir se um algoritmo é mais performático que o outro é o que a gente chama de notação Big ou anotação Bigô que vai basicamente
nos permitir classificar e comparar esses algoritmos para entender o que é mais performático ou não para cada situação a gente tá enfrentando para cada problema que a gente quer resolver inclusive se você quiser que eu trago um conteúdo específico sobre Big ou comenta aqui embaixo Big ou porque eu sei que você quer esse conteúdo a gente pode agregar mais esse conteúdo na nossa playlist de conteúdos fundamentais para programadores Aliás se você não conferir a nossa playlist a gente tem uma playlist ele falou sobre alguns conceitos fundamentais por exemplo lógico que na programação que é esse
vídeo que eu falei orientação objetos estruturas de dados e agora algoritmo e a ideia que a gente cresça essa playlist cada vez mais então se você tem alguma recomendação Não deixe de comentar eu espero que esse conteúdo tenha sido útil para vocês se você busca uma informação que vai te preparar com o programador para ser um programador eficiente que vai ter o seu lugar no mercado pelo que você entrega de valor dá uma olhadinha na formação em tecnologia da escola dnc justamente por focar na base e ter uma metodologia focada em prática é que ela
possui um índice de empregabilidade superior a 98%. isso pode ser realidade em uma escola que tenha seriedade se preocupa com a qualidade da educação quer entrega e principalmente com a trajetória de cada aluno E lembrando que esse mês está rolando uma oportunidade especial para que você consiga estudar ali na escola dnc não deixe de conferir o link na descrição desse vídeo e agora eu quero saber de você o que que você acha desse vídeo Você tem alguma dúvida sobre o que eu expliquei aqui sobre algoritmos algum outro tema que você queira sugerir para o canal
Não deixe de comentar cinco médicos sumiu eu vou responder um comentário que deixaram em outro vídeo aqui do canal e o comentário é da Joyce Mara Carol como você sabia que queria trabalhar com que você trabalha hoje eu estou me questionando se não estou na área errada apesar de gostar só isso não basta Esse é um ponto muito importante Joyce inclusive muito obrigado pelos comentários eu respondi Ele para você mas eu achei interessante trazer para cá porque eu acho que é uma dúvida muito comum das pessoas que entram na área de tecnologia porque normalmente elas
não têm a visão de quão amplo é esse mercado em relação a programação na verdade não sou em relação à programação mas esse mercado como um todo Então como que eu me permitir me encontrar nesse mercado como desenvolvedor IOS que é o que eu trabalho hoje principalmente experimentando né então comecei trabalhando com games e web eu sempre fui aberta ao aprendizado a aprender coisas novas experimentar coisas novas eu acho que ter essa abertura é importante para que você Experimente e que para você de repente se encontre em outra área então isso é muito importante então
necessariamente você vai entrar numa área que vai ser amor e paixão a primeira vista você tem que se permitir de repente você não gosta daquela área vai experimentando Outra área vai experimentando outras possibilidades do mercado de tecnologia a gente tem muitas carreiras dentro da programação dentro desse mercado que você pode experimentar e de repente se encontrar vê o que aconteceu comigo durante a minha jornada eu tive a possibilidade de experimentar bastante Foi aí que eu me encontrei então fica essa dica muito obrigado pelo seu comentário e espero que eu tenha conseguido te ajudar e a
gente também te pedir para o próximo vídeo você já sabem que vocês devem maratonar os conteúdos aqui do até que tá flix e não deixe de se inscrever para a gente se encontrar toda semana eu vou indicar para os dois conteúdos para você assistir aqui na sequência um dos conteúdos vai ser Justamente esse vídeo onde eu falo sobre a base da lógica da programação um conteúdo rápido para te ajudar você que está iniciando na programação e o outro conteúdo vai ser uma recomendação do algoritmo do YouTube e agora que eu vou fazer Vou praticar alguns
algoritmos né Afinal a gente sempre tem que praticar se inscreve aí porque tem muito conteúdo legal para você