✔ Quer aprender ainda mais comigo? Seja meu aluno por meio da minha formação completa de Engenharia de Dados por um preço super acessível: iuryrosal.dev/cursos. 🙌
Algumas dúvidas Big O, seria o pior caso de "procura" em um array (valor procurado estaria na última posição) ? Omega, seria a busca em um array encontrando o valor procurado na primeira posição ? Theta, seria um "média" dos dois citados ?
Pronto, essa notação assintótica apenas indica para a gente a complexidade de um algoritmos levando em conta os piores casos (pensando no contexto de array, o pior caso seriam arrays gigantes, de tamanho n = 1 milhão, por exemplo). Se eu tenho um algoritmo X e ele é O(n), quer dizer que o crescimento do tempo de execução junto ao crescimento do tamanho do array é linear. Isso sendo um teto, no caso da notação BIG O. As outras notações seguem a mesma pegada, apenas mudando que o OMEGA é um piso (é disso pra cima) e o Theta seria a combinação do BIG 0 e do Theta (tanto por cima como por baixo, teto e piso, ao mesmo tempo). Essas notações não envolvem uma situação em especifico, mas sim uma característica do algoritmo ao executar para entradas de tamanhos distintos.
@@IuryRosal Agora sim Iury, já vi lugares que escrevem f(n) é O(g(n)), traduzindo em termos práticos, o que significaria isso ? muito obrigado mais uma vez.
@@uberdamcavaletti f(n) é a função que descreve o tempo de execução em função da entrada de tamanho n, O é a notação BIG O e g(n) é a função que vai dentro da notação. Exemplo: O(n), quer dizer que g(n) = n. É só questão de representação mesmo.
Agradecido pelo feedback. Já foi postada mais uma aula com questões envolvendo a notação big-O e, em breve, terá mais uma sobre notação theta e omega. A ideia é, num futuro não tão distante, ter algo sobre corretude de algoritmos e teorema mestre, mas esses vídeos ainda estão sendo pensados. =)
Opa Raphael, fico agradecido pelo lembrete. Meio que esse canal do Telegram não gerou tanto resultado como esperava e hoje ele não existe mais... Hoje em dia tem o meu linkedin, instagram e tem o Apoia.se (e Discord) como canais suporte para o projeto. ;)
boa noite1 gostaria conversar com o professor. por favor! quem tiver o contacto do professor, agradecia me enviar. eu sou africano, estudante em portugal
Olá Makeley. Bem, no geral, análise assintótica envolve mais a teoria de estudarmos os algoritmos olhando apenas para seu tempo de execução e complexidade. Agora puxando para aplicações, no geral, no mundo corporativo, é mais dificil você olhar para isso. Acredito que a aplicação de uso direto seria em um contexto que você precisa ter o algoritmo mais otimizado possível, envolvendo algum aspecto mais financeiro, por exemplo. Tipo o tempo de execução é primordial, sendo uma grande prioridade.
Makeley, quando você está fazendo um programa geralmente você não se preocupa com otimizar o seu programa, mas sim em resolver um problema. Agora depois de feito o seu programa você pode pensar em melhorar a sua solução e esse é o caminho para isso. Como você sabe que o seu programa é ruim ou não? Como você sabe se ele é lento? Agora imagine uma empresa que precisa que o seu programa rode rápido e que o seu código seja o melhor possível. Pronto. E por isso que você precisa entender o conceito para aplicar da melhor forma.
É uma constante que pode assumir qualquer valor natural não nulo para fazer com que a condição seja satisfeita (em resumo). Nos exercicios (que são as partes 2 e 3) podem esclarecer melhor pra você
Pronto, a ideia do pior, médio e melhor caso é a forma que você irá interpretar o problema e trabalhar as notações. Normalmente olhamos para o pior caso, que seria o máximo que ele poderia crescer baseado no aumento do tamanho da entrada. Por exemplo, um algoritmo de busca simples e genérico pode ter, no pior caso, O(n), ou seja, no pior dos mundos o algoritmo irá percorrer todo o vetor uma única vez (situação em que um elemento estaria no final do vetor ou não se encontra no vetor e teve que ser verificada todas as posições).
@@IuryRosal Não tinha formulada direito minha pergunta.Mas já tirei a dúvida. Minha dúvida era se cada cenário estivesse ligado a uma notação.↓ DÚVIDA ESCLARECIDA ↓ Melhor Caso ( Ω ): Exprime o menor tempo de execução de um algoritmo para uma entrada de tamanho n. Caso Médio ( θ ): Deve-se obter a média dos tempos de execução de todas as entradas de tamanho n, ou baseado em probabilidade de determinada condição ocorrer. Pior Caso (O): Baseia-se no maior tempo de execução sobre todas as entradas de tamanho n (ordem de grandeza).
Opa, perdão Raimundo por isso. Poderia especificar o que realmente atrapalhou ou se foi algum momento específico do vídeo? Coloco o fundo escuro mais por questão de design e marca de uso, mas sempre tento utilizar cores claras para dar um contraste e melhorar a visualização. Por isso, gostaria de entender um pouco melhor o seu ponto para me atentar em vídeos futuros.
Desconsidera o que disse o colega Raimundo, Iury. O fundo escuro ficou bem visível e não cansou a vista. O uso de mais cores talvez facilite um pouco a estética e entendimento.
"Vai estar utilizando", meu deus, que vício doentio dos brasileiros. Uma suruba de verbos pra dizer o que um verbo ou uma locução verbal resolveria. Tudo isso pq convencionou-se que isso é bonito no boom do telemarketing nos anos 2000. "Estaremos utilizando" ou "utilizaremos", meu amigo. Faz uma análise nessa linguagem aí.
✔ Quer aprender ainda mais comigo? Seja meu aluno por meio da minha formação completa de Engenharia de Dados por um preço super acessível: iuryrosal.dev/cursos. 🙌
que aula foda, parabéns pela didática!
Fico feliz em agregar!! Muito obrigado
Estou fazendo faculdade de ADS e o vídeo esclareceu muitas dúvidas, obrigado pelo excelente conteúdo!
Fico muito feliz em ajudar! :)
Obrigado Iury.Boa explicação.
Fico muito feliz em ter sido útil!! Esse tipo de feedback é extremamente importante pra mim =D
Cara que excelente explicação. Top demais! Deu até vontade em aprofundar mais nos algoritmos
Olá Fredson, fico muito feliz em ter contribuído de alguma forma. Abraços! :)
Super didático você esclareceu minhas dúvidas sobre o assunto muito obrigado!
Fico feliz em ajudar!!
Que aula esclarecedora! Muitíssimo obrigado. Ajudou muito.
Muito obrigado Matheus! Fico feliz em o vídeo ter sido útil, forte abraço!
Obrigada pela explicação!
Nada, fico muito feliz em ser útil!
Que aula top cara, consegui entender fácil o conteudo.
Muito obrigado, fico feliz em ser útil!!! =)
Top cara melhor aula sobre assunto.....
Olá Glasser, fico muito feliz pelo conteúdo ter sido útil!! Esse tipo de feedback é muito gratificante e estimula a continuar o projeto!
Ótima aula, parabéns pela didática!
Muito obrigado Ricardo, fico feliz em ajduar! =)
Ótima aula, o assunto foi muito bem abordado
Obrigado pela aula🙏🏿
Fico muito feliz em a aula ter agregado José! Forte abraço!
Aula excelente!!!
Muito obrigado! Fico feliz em ter sido útil.
Ótima explicação!
Muito obrigado!!! Esse feedback é muito gratificante! =)
parabens pelo conteudo!
Muito obrigado Ramon, fico muito feliz em agregar! :)
Algumas dúvidas
Big O, seria o pior caso de "procura" em um array (valor procurado estaria na última posição) ? Omega, seria a busca em um array encontrando o valor procurado na primeira posição ? Theta, seria um "média" dos dois citados ?
Pronto, essa notação assintótica apenas indica para a gente a complexidade de um algoritmos levando em conta os piores casos (pensando no contexto de array, o pior caso seriam arrays gigantes, de tamanho n = 1 milhão, por exemplo). Se eu tenho um algoritmo X e ele é O(n), quer dizer que o crescimento do tempo de execução junto ao crescimento do tamanho do array é linear. Isso sendo um teto, no caso da notação BIG O. As outras notações seguem a mesma pegada, apenas mudando que o OMEGA é um piso (é disso pra cima) e o Theta seria a combinação do BIG 0 e do Theta (tanto por cima como por baixo, teto e piso, ao mesmo tempo). Essas notações não envolvem uma situação em especifico, mas sim uma característica do algoritmo ao executar para entradas de tamanhos distintos.
@@IuryRosal Agora sim Iury, já vi lugares que escrevem f(n) é O(g(n)), traduzindo em termos práticos, o que significaria isso ? muito obrigado mais uma vez.
@@uberdamcavaletti f(n) é a função que descreve o tempo de execução em função da entrada de tamanho n, O é a notação BIG O e g(n) é a função que vai dentro da notação. Exemplo: O(n), quer dizer que g(n) = n. É só questão de representação mesmo.
Opa iury consegue mandar o link do Telegram ?
Opa, infelizmente acabei desativando esse canal. Mas pode me acompanhar pelo Linkedin qualquer coisa ;)
muito top a aula, terão mais aulas sobre CANA no futuro?
Agradecido pelo feedback. Já foi postada mais uma aula com questões envolvendo a notação big-O e, em breve, terá mais uma sobre notação theta e omega. A ideia é, num futuro não tão distante, ter algo sobre corretude de algoritmos e teorema mestre, mas esses vídeos ainda estão sendo pensados. =)
Muito bom os vídeos, uma dúvida Iury.
Muito obrigado Uderdam!
Faltou colocar o canal do telegram na descrição.
Opa Raphael, fico agradecido pelo lembrete. Meio que esse canal do Telegram não gerou tanto resultado como esperava e hoje ele não existe mais... Hoje em dia tem o meu linkedin, instagram e tem o Apoia.se (e Discord) como canais suporte para o projeto. ;)
boa noite1 gostaria conversar com o professor. por favor! quem tiver o contacto do professor, agradecia me enviar. eu sou africano, estudante em portugal
Olá Francisco, você pode me contatar pelo Linkedin. Outros meios de contato você encontra aqui iuryrosal.dev/contato
Parabéns pelo vídeo! Você faz faculdade a onde?
Obrigado, fico feliz em o conteúdo agradar! =D Faço Engenharia de Computação na Universidade Federal do Ceará (UFC).
Sou bem iniciante em programação, me perdoem pela ignorância. Qual a aplicabilidade no dia-a-dia por exemplo de um programador?
Olá Makeley. Bem, no geral, análise assintótica envolve mais a teoria de estudarmos os algoritmos olhando apenas para seu tempo de execução e complexidade. Agora puxando para aplicações, no geral, no mundo corporativo, é mais dificil você olhar para isso. Acredito que a aplicação de uso direto seria em um contexto que você precisa ter o algoritmo mais otimizado possível, envolvendo algum aspecto mais financeiro, por exemplo. Tipo o tempo de execução é primordial, sendo uma grande prioridade.
Makeley, quando você está fazendo um programa geralmente você não se preocupa com otimizar o seu programa, mas sim em resolver um problema. Agora depois de feito o seu programa você pode pensar em melhorar a sua solução e esse é o caminho para isso. Como você sabe que o seu programa é ruim ou não? Como você sabe se ele é lento? Agora imagine uma empresa que precisa que o seu programa rode rápido e que o seu código seja o melhor possível. Pronto. E por isso que você precisa entender o conceito para aplicar da melhor forma.
Puts, me perdi no que seria o c no Big O notation. Alguém da um help?
É uma constante que pode assumir qualquer valor natural não nulo para fazer com que a condição seja satisfeita (em resumo). Nos exercicios (que são as partes 2 e 3) podem esclarecer melhor pra você
Man qual é a relação entre as notações com os cenários: PIOR, MÉDIO e MELHOR caso?
Pronto, a ideia do pior, médio e melhor caso é a forma que você irá interpretar o problema e trabalhar as notações. Normalmente olhamos para o pior caso, que seria o máximo que ele poderia crescer baseado no aumento do tamanho da entrada. Por exemplo, um algoritmo de busca simples e genérico pode ter, no pior caso, O(n), ou seja, no pior dos mundos o algoritmo irá percorrer todo o vetor uma única vez (situação em que um elemento estaria no final do vetor ou não se encontra no vetor e teve que ser verificada todas as posições).
@@IuryRosal Valeu, você tem discord? É que estou com algumas dúvidas!
Tenho, mas só para uso pessoal, qualquer coisa pode mandar as dúvidas por aqui ou via linkedln (link na descrição).
@@IuryRosal Não tinha formulada direito minha pergunta.Mas já tirei a dúvida. Minha dúvida era se cada cenário estivesse ligado a uma notação.↓ DÚVIDA ESCLARECIDA ↓
Melhor Caso ( Ω ): Exprime o menor tempo de execução de um algoritmo para uma entrada de tamanho n.
Caso Médio ( θ ): Deve-se obter a média dos tempos de execução de todas as entradas de tamanho n, ou baseado
em probabilidade de determinada condição ocorrer.
Pior Caso (O): Baseia-se no maior tempo de execução sobre todas as entradas de tamanho n (ordem de grandeza).
Obrigado por compartilhar! =D
O fundo ficou muito escuro
Opa, perdão Raimundo por isso. Poderia especificar o que realmente atrapalhou ou se foi algum momento específico do vídeo? Coloco o fundo escuro mais por questão de design e marca de uso, mas sempre tento utilizar cores claras para dar um contraste e melhorar a visualização. Por isso, gostaria de entender um pouco melhor o seu ponto para me atentar em vídeos futuros.
Desconsidera o que disse o colega Raimundo, Iury. O fundo escuro ficou bem visível e não cansou a vista. O uso de mais cores talvez facilite um pouco a estética e entendimento.
"Vai estar utilizando", meu deus, que vício doentio dos brasileiros. Uma suruba de verbos pra dizer o que um verbo ou uma locução verbal resolveria. Tudo isso pq convencionou-se que isso é bonito no boom do telemarketing nos anos 2000. "Estaremos utilizando" ou "utilizaremos", meu amigo. Faz uma análise nessa linguagem aí.
Ciente.
chatisse