Análise de Algoritmos Passo a Passo (Parte 2) | xavecoding

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

Комментарии • 35

  • @jonasjr.
    @jonasjr. Год назад +7

    Excelente didática professor! Seus 2 videos ensinaram muito mais do que uma matéria inteira da universidade que estou estudando. Grato pelo tempo e conhecimento compartilhado!

  • @carlosfixo5635
    @carlosfixo5635 9 месяцев назад +8

    pq n temos professores assim na faculdade? parece que na faculdade, os professores fazem questão de complicar tudo kkkkkk

  • @Esmael-z9l
    @Esmael-z9l Месяц назад

    Sensacional.

  • @ImPH657
    @ImPH657 4 месяца назад +1

    Obrigado, tenho prova de AEDS II amanhã e meu professor é uma ameba.

  • @SuelyjaneCosta
    @SuelyjaneCosta 2 месяца назад

    Aprendi muito com suas explicações. Obrigada!

  • @ivandecleimendes
    @ivandecleimendes Год назад +2

    Sua explicação é ótima entendi várias coisas que fiquei um ano pra entender . Gostaria de vídeos sobre análise de grafos , seria ótimo.
    Parabéns continue produzindo estes vídeos.

  • @GlaedrDK
    @GlaedrDK Год назад

    Gostaria de agradecer pela aula, não tive esse conteúdo na faculdade e descobri ele faz alguns meses. Não tenho conhecimento matemático o suficiente então tento descobrir a complexidade pelas dicas e macetes que encontrei na internet e pelo seu vídeo, muito obrigado!

  • @RodrigoAdriano
    @RodrigoAdriano 3 месяца назад

    Otimo video, só senti falta da explicação de como funciona o O(n Log n)

  • @cannalbom
    @cannalbom 2 месяца назад

    vendo em 2024. valeu

  • @FP_AO
    @FP_AO 10 месяцев назад

    aula fantastica! simples, direito e objectivo.

  • @avila_gl
    @avila_gl Год назад +1

    melhor professor de computação do youtube!

    • @xavecoding
      @xavecoding  Год назад +2

      Obrigado, Guilherme 🤖
      Fico muito feliz pelas palavras.
      O canal voltará com vários novos vídeos muito em breve.
      Fique ligado ✌️

  • @PauloVitor-pk7bz
    @PauloVitor-pk7bz 9 месяцев назад

    Obrigado pela aula fesor

  • @valdanoca8319
    @valdanoca8319 9 месяцев назад

    Muito obrigado pela explicação, você é bom demais!

  • @pedrojose9833
    @pedrojose9833 Год назад +1

    Top!!

  • @VanessaLopes-xe8qw
    @VanessaLopes-xe8qw Год назад

    Aula Fantástica! Ótima didática. 👏👏👏👏👏👏👏

  • @jorgecomparato329
    @jorgecomparato329 Год назад +1

    Muito didatico! Bom trabalho executado mestre!

    • @xavecoding
      @xavecoding  Год назад +1

      Obrigado, Jorge 🤖
      O canal voltará com vários novos vídeos muito em breve.
      Fique ligado ✌️

  • @ederfernandes2065
    @ederfernandes2065 Год назад

    melhor didática, melhor linguagem, melhor prof., estou passando perrengue pra entender essa análise toda de algoritmo, mas agora estou vendo uma luz no túnel com suas aulas, obgdo, abraço!!

    • @xavecoding
      @xavecoding  Год назад

      Obrigado 🤖.
      Fico contente por isso, Eder. Continue firme seus estudos.
      O canal voltará muito em breve com muitos conteúdos sobre algoritmos, desenvolvimento web e ciência de dados.
      Fique ligado ✌️

  • @mandyysz
    @mandyysz 9 месяцев назад

    Obrigada moço ❤

  • @matheusmotta5413
    @matheusmotta5413 Год назад

    Obrigado pela excelente aula

    • @xavecoding
      @xavecoding  Год назад +2

      Obrigado 🤖.
      O canal voltará muito em breve com muitos conteúdos sobre algoritmos, desenvolvimento web e ciência de dados.
      Fique ligado ✌️

  • @julianoneves3983
    @julianoneves3983 Год назад

    exercício:
    letra a) O(n^2)
    letra b) O(n)

  • @meucelularkrl
    @meucelularkrl Год назад +3

    Teremos mais aula sobre análise de algoritmos?

    • @xavecoding
      @xavecoding  Год назад +3

      Teremos!
      O canal voltará muito em breve com muitos conteúdos sobre algoritmos, desenvolvimento web e ciência de dados.
      Fique ligado ✌️

    • @meucelularkrl
      @meucelularkrl Год назад

      @@xavecoding ihaaaa 🤠

    • @luccadioliveira
      @luccadioliveira Год назад +1

      ihaaaa 🤠

  • @araujored1146
    @araujored1146 2 года назад

    Gostei muito dessas aulas. Mas eu queria saber uma coisa: A finalidade da análise assintotica dentro da programação... No que isso ajudaria no dia a dia de um programador?

    • @xavecoding
      @xavecoding  2 года назад +4

      Oi, Araujo.
      Resposta simples: te ajuda a entender o quão eficiente é um dado algoritmo (em termos de tempo e/ou espaço de memória) para avaliar sua aplicabilidade em dada aplicação ou compará-lo com outros algoritmos para a mesma aplicação.
      Imagine a seguinte situação bem hipotética. Você trabalha numa empresa que desenvolveu um e-commerce. Os usuários podem buscar por determinados produtos, podendo ordenar sua visualização por aqueles com menor preço.
      A solução mais simples para esse problema seria:
      1) O sistema busca todos os produtos relacionados à busca do usuário (e.g., livros de computação)
      2) Ordena os produtos pelo menor preço
      3) Apresenta na tela os resultados encontrados
      Imagina que há milhares de produtos relacionados à busca. Há vários algoritmos de ordenação, sendo que cada um possui uma dada complexidade de tempo. Usar um algoritmo "lento" na etapa (2) pode fazer com que o tempo de resposta para o usuário seja muito demora. Imagine o usuário realizar uma busca e demorar minutos pra retornar a resposta. Consequentemente, é provável que você perdesse o cliente.
      O ideal seria usar o algoritmo mais rápido possível que seja adequado ao seu problema.
      Saber como identificar a complexidade de algoritmos também lhe faz desenvolver algoritmos mais eficientes. Você pode desenvolver diferentes algoritmos com diferentes estruturas de dados que lhe retornarão o mesmo resultado, porém em tempos de execução diferentes. Conforme você vai ganhando experiência como programador, começará a aprender certas técnicas e estruturas mais eficientes para resolver certos problemas corriqueiros. Saber a complexidade de tempo de tais técnicas/algoritmos lhe ajudará a tomar a melhor escolha.

    • @araujored1146
      @araujored1146 2 года назад

      @@xavecoding aah sim, isso faz muito sentido mesmo! Obrigado, cara. E sua didática é muito boa, merece mais reconhecimento! Vlw

  • @k.manjericao1583
    @k.manjericao1583 10 месяцев назад +1

    Não entendi a explicação pq vc disse nlog(n) é igual ou maior que 1, mas para n=1, log(n)=0 e aí nlog(n) seria zero. Fiquei confusa.

    • @juliermearaujo
      @juliermearaujo 4 месяца назад +1

      Olá. Faz sentido o que ele mencionou. E sua observação também faz sentido.
      Se você compara o valor de 'n' com o valor de 'nlogn', sendo 'n' valores maiores ou iguais a 1 e menores que 10, O(n) será realmente maior que O(nlogn). Por exemplo:
      - Para n = 5 temos:
      O(n) = 5
      O(nlogn) = 3,49 ~ 3,5
      - Para n = 9 temos:
      O(n) = 9
      O(nlogn) = 8,5
      - Para n = 10 já temos uma igualdade entre O(n) e O(nlogn).
      O(n) = 10
      O(nlogn) = 10
      Então, para qualquer valor de entrada com n > 10, O(nlogn) será maior que O(n). E como estamos falando de análise de pior caso sempre teremos uma quantidade enorme de entradas, o que remeterá a O(nlogn) sendo sempre maior que O(n).
      Sua observação está correta ao perceber que quando n = 1 tem-se O(n) = 1 e O(nlogn) = 0. Como mencionei, isso só ocorre com 'n' sendo valores entre 1 e 9. Com 'n' sendo valores maiores que 10, O(nlogn) sempre será maior que O(n).
      Então, quando o professor fala que em 'nlogn', o 'logn' será >= 1, ele está querendo ressaltar que sempre haverá um fator multiplicativo vinculado ao n (que é o logn). Um hora esse fator multiplicativo vai começar a fazer uma grande diferença. E como já mencionado, essa hora é exatamente quando 'n' passar a ser maior que 10.
      Espero ter ajudado.

  • @jonasfrancomatador1277
    @jonasfrancomatador1277 Год назад

    Errei a O(n²) só porque esqueci de que n*n = n².