Notação do O Grande - Complexidade de Algoritmos II
Vložit
- čas přidán 28. 08. 2024
- Neste vídeo, continuamos o estudo de complexidade de algoritmos, mas agora de um ponto de vista um pouquinho mais matemático. Abordamos a notação O grande, que nos permite expressar de uma maneira mais prática o comportamento de um algoritmo com o tamanho da sua entrada.
* Para que você melhor compreenda os conceitos abordados nesse vídeo, é importante que você saiba pelo menos o que são funções (matemática).
* Sobre o livro que aparece no vídeo:
Versão em português
Algoritmos - amzn.to/2LbAAQa
Versão em inglês
Introduction to Algorithms - amzn.to/2xCwl7l
Se inscreva no canal para acompanhar todo o conteúdo e nos siga nas outras redes:
*Instagram: @pgdincamica @kizzy_terra @ hallpaz
*Twitter: @pgdinamica @kizzyterra @hallpaz
* Curta o Python Café no Facebook: pythoncafe
* Confira os artigos no site Python Café: pytoncafe.com.br
obrigado prof. !!
testei os códigos do inverter_codigo(1 e 2) no python, mas estão dando erros.
O primeiro diz que o "n" não existe. e o segundo diz "list index out of range"
Verdade, como não executei no vídeo, não vi na hora. As correções são as seguintes:
NO PRIMEIRO: *n* representa o tamanho da lista. O problema é que eu criei a variável *tamanho* para este fim e depois, provavelmente por hábito, escrevi *n* . Basta trocar *n* por *tamanho* . Ainda vai ter mais um problema, veja abaixo...
No SEGUNDO: onde aparece *tamanho - i* deve ser *tamanho - i - 1* . Como *i* começa em 0, o índice máximo de uma lista com *tamanho* elementos é *tamanho-1* . Este problema também acontece na versão 1.
Obrigado pelo toque! Vou fixar o comentário no topo para mais pessoas verem. 🤙🏾
Esse canal caiu como uma luva para mim, fiz a disciplina de Orientação a Objetos semestre passado, e estou cursando Estrutura de Dados neste semestre, e o canal vem me ajudando muito em ambos o conteúdos, espero que continue com o ótimo trabalho.
Que ótimo, Junio! Fico feliz que esteja ajudando. Abraço!
E agora, Dâmaso, se formou?
@@evertonsantosdeandradejuni3787 Essa pergunta é cruel! kkkk
Esse é O CARA! Explica muito bem, ótimo professor! Parabéns! Agora vou entender e aprender isso! Não pare com os conteúdos! Obrigada! Já sou fã!
haha, obrigado! Bons estudos! 😁
Ótimo professor!
Muito obrigado, Fabrícia!! Bons estudos :)
Finalmente entendi de onde veio o Big O! Antes eu calculava seguindo regras mas não entendia a lógica. Obrigada pela explicação incrível
De nada! Bons estudos!
Acho muito legal a facilidade com que você tem para esmiuçar um assunto que à primeira vista me pareceu bastante complexo. Isso demonstra um grande domínio do tema. Estou bastante admirado. Já me inscrevi e vou assistir novamente esses vídeos, porque o assunto é importante para o que estou estudando. Continue postando vídeos assim. Um abraço e sucesso! :)
Muito obrigado! Vou retomar essa série tratando de árvores.
Python Café excelente! Ficarei no aguardo. ☺️
Abraços.
Simples, direto e assertivo! Parabéns pelo vídeo.
Muito obrigado, Guilherme! Continue acompanhando :D !
melhor canal de programação, vc é um professor muito bom.
Valeu Washington!
Ótima didática e conteúdo. Se consseguisse por aúdios mais alto nos próximos vídeos, será top. Obrigada
Obrigado!
Assistido✔️
Conceitualmente consegui compreender mas matematicamente ainda não posso dizer. Continuarei estudando sobre o assunto.
Não sei nem explicar o quão agradecida estou por esse conteúdo :))) Sou sua fã! Obrigada!
😁🙌🏾 Ótimo saber disso!
A explicação ficou ótima!
Valeu!
Muito bom vídeo, parabéns pela qualidade!
Vlw!
Gosto demais dos vídeos do Canal, torna “entendível” as matérias referente a Computação
Bom saber que ajudamos!
Explicação perfeita, tirou minhas dúvidas
ameii a aula, ajudou bastante!! faz uma aula específica de como calcular a função de complexidade pfvr! Caso já tenha, deixa o link?? obrigada!!
Top! Explicação objetiva e de fácil entendimento.
Muito obrigado, Amanda! 😊
Explicação top! Está de parabéns!
Valeu!
Cara, muito obrigado!! Assisti diversos vídeos pra tentar entender esse conceito, mas só agora compreendi
Disponha ;)
Sinto que estou aproveitando muito mais o livro de algoritmos que estou lendo a partir dessas vídeo-aulas, ajuda demais no entendimento do livro, obrigado.
Top, Vitor! Obrigado por compartilhar a experiência :) ótimos estudos!
Alisson, muito obrigado pelo material , fantástico! Apenas um adendo, o som está meio baixo. De qualquer forma uma maravilha, me salvou !
Valeu!
o áudio do vídeo não está muito bom . agradeço pelos videos ,são ótimos !!!!!
ta baixo mesmo
Depois de postado, não tenho como mexer...mas os vídeos mais recentes têm áudio bem melhor :) vivendo e aprendendo
Depois de postado, não tenho como mexer...mas os vídeos mais recentes têm áudio bem melhor :) vivendo e aprendendo
MUITO BOM, AMEI. FACIOOO
😉
Mio ajuda da madrugada nos estudos... Obrigado!
De nada!
Ótima didática
Que didática fodástica!!! Excelente! Obrigado!
Valeu!
Primeiramente parabéns pelo conteúdo tão rico e ótimo estruturado! Em seguida, queria entender, caso possível, como a PA virou N*(N-1)/2 e em seguida (N²-N)/2. Assisti a aula de PA e, pelo que entendi, a fórmula pra calcular seria a0 + N*R. Desculpe a ignorância 😢
Cara, muito bom. Excelente vídeo. Esclarecedor!
Fico feliz que tenha lhe servido de ajuda, Joao!
O vídeo tá muito bom! Seria interessante tentar melhorar o áudio, talvez normalizando ele
Depois de postado, não tenho como mexer...mas os vídeos mais recentes têm áudio bem melhor :) vivendo e aprendendo
Finalmente consegui entender isso. Parabéns. Canal sensasional!
🥳
Ótima explicação! Me ajudou muito.
Obrigado!
Excelente explicação! (só o áudio que está baixo)
Obrigado! Os vídeos mais recentes tem áudio melhor.
video perfeito, explicou muito bem! tava bastante confusa nesse assunto e agora to fera, ja posso da aula pro meu professor
Obrigado, bons estudos!
menas
Excelente Video! Parabens!
Obrigado!
Em 22:00 na função "tem_duplicados" não entendi bem como chegou naquela expressão para complexidade de tempo desta função?
Excelente, muita clareza.
Muito obrigado! :)
Excelente didática!
Muito obrigado!
Esse livro aqui, "introduction to algorithms" a introdução tem mil páginas kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
É que depois da introdução, vem a série toda do Donald Knuth 😂 “The Art of Computer Programming”
@@pgdinamica eu não sabia que vinha essa série junto do livro haha o mais louco é que eu tava pensando em comprar a série. Agora eu só preciso comprar o livro de algoritimos kkkkkkkk
@@wagnerabrantes4034 Não vem não, foi brincadeira 😆. É que a série do Knuth é mais densa e tem uma linguagem um pouco mais complicada que o livro do Cormen, mas eles não tem nenhuma relação (além de tratarem de algoritmos).
@@pgdinamica fui ludibriado kkkkkkkkkkkkkkkkkk
Muito bom.. super didáctico
hallison: "quem se interessar mais, recomendo esse livro"
eu: "me interesso"
hallison *pega um livro maior que a bíblia*
😂😂😂😂
Muito bacana o canal!! Gostei demais e já me inscrevi!
Obrigado!
Explicou em 15 min, muito melhor q meu professor, em um bimestre
vlw man, salvou aqui
Muito bom!!
Valeu! Bons estudos 🙌🏾
Sensacional vídeo. Parabéns pelo trabalho. Só fiquei com uma dúvida: qual algoritmo dos mostrados é o mais eficiente? O que possui mais alocação de espaço (duas listas) ou o que possui mais tempo (com a variável aux)? Entendi por alto que o que utiliza a variável é mais interessante (comportamento linear) mas não tenho certeza, pois estou começando a estudar complexidade de algoritmos agora.
😃
😁
Ótima aula
Prof, alguma indicação para estudar qual tipo de estrutura é mais indicado pra cada situação. Se tiver alguma indicação, eu ia agradecer.
Pra cada estrutura de dados, recomendo pensar na complexidade do pior caso das operações de busca, inserção e remoção. Geralmente, há um trade-off entre essas operações, então você tem que pensar quais operações são mais esperadas na sua aplicação.
Achei esse canal melhor vídeo sobre estrutura de dados, só uam obs: o áudio está um pouco baixo
Obrigado! Na época ainda tava aprendendo a fazer vídeo, os vídeos de hoje em dia têm áudio (e vídeo) bem melhor 🙂
O canal possui uma playlist com mais vídeos sobre esse assunto?
Sim…
Estruturas de dados: czcams.com/play/PL5TJqBvpXQv5Bb71AE5Cd_kB5rNsfU4Cp.html
Algoritmos: czcams.com/play/PL5TJqBvpXQv7KCYOIXzPnGac4t_R8MQSG.html
Analisando o algoritmo da função tem_duplicados, reparei que na linha 2 '' for i in range(len(lista)-1)' esse -1 não é necessário justamente porque for sempre para de contar um elemento antes do elemento final, é um intervalo aberto, digamos assim. Testei sem o -1 e deu o mesmo resultado. Alguém chegou nesse raciocínio?
00:35 - "Se você quer uma abordagem um pouco mais rigorosa (que a de um video de meia hora) eu recomendo ~ levanta um livro maior que a minha cabeça ~ dar uma lida nesse livro de INTRODUÇÃO à algoritimos"
KKKKKKKKKKKKKKKKKKKK rachei demais, aí que eu percebi que realmente achava que sabia alguma coisa mas na verdade não sei nada
Parabéns por seu conteúdo estou preferindo estudar aqui com você ao invés de seguir conteúdo da faculdade...
Bons estudos!
no minuto 16:00 não deveria ser N*(N-1 + 1)/2? ja que a ideia de somar uma pa é somar em pares ate a metade da sequencia tipo 1 + 2 + 3 +... + 100 = 5050 porque vc soma 101 50 vezes e a formula para isso é 100*(100 + 1)/2 = 5050 logo de forma simplificada seria N^2/2
e a complexidade log(n) ?
Não entendi a pergunta. O que você quer saber sobre complexidade log(n)?
Posso resumir tudo dessa forma?
- Um algoritmo com um for de tamanho fixo 16 eh, O(16)
- Um algoritmo com um for sem tamanho definido eh, O(n)
- Um algoritmo com um for dentro de um for sem tamanho definido eh, O(n sobre 2)
???😅 foi isso que eu entendi
Quase, mas tá no caminho!
- O(16) = O(1). Não é incorreto o que você disse, apenas não convencional. O que a notação expressa é a forma como uma função cresce, no caso, constante (independente do valor).
- “sem tamanho definido” é muito amplo. O que importa é “do que depende” a quantidade de iterações que você vai fazer com este for. Nem todo dado é “simples” como uma lista. Um grafo, por exemplo, tem “N” nós e “M” arestas, um algoritmo que opere no grafo pode depender de um produto ou uma soma dessas variáveis, por exemplo.
- O(n elevado a 2). Novamente, tem que ver do que depende o crescimento do algoritmo.
Acho que você pegou a ideia geral, mas precisa ter cuidado e saber analisar caso a caso.
Olá Hallison,
ABACAXI tem 3 As..rsrs
Também é verdade que tem 1 par 😎. Quem tem 3, "tem 2" e também "tem 1" 😉.
aula ótima. to entendendo bem melhor. mas abacaxi em 3 a's e 7 letras
Quem tem 3, tem 2 🙃
🍍
Começa a contar do 0.
0-6 letras.
3 letras a, 0-2.
Tai a explicação haha
Será que só eu observo nos vídeos a mudança de posição dos objetos na prateleira? Rsrs
hahaha, olhar observador!
@@pgdinamica 🤣😅
O áudio ficou mt baixo.
Os vídeos mais novos, estão com áudio melhor 😉
grato pelo retorno e pelo ajuste!
estou tentando maratonar esta playlist como apoio em disciplina homônima.
abacaxi tem 7 letras e as casas vão de 0 a 6 no caso, mas eu entendi...
a letra 'a' se repete 3 vezes né AbAcAxi
SE ME PERGUNTAREM O QUE UMA MANGA? EU VOU NO PÉ DE MANGA PEGO A MANGA E MOSTRA PRA PESSOA. E AINDA COMEMOS A MANGA . MAS ATÉ HJ NINGUEM ME MOSTROU O QUE É UMA ALGORITIMO?
Que pena :/
Patrícia teacher brought me here
Say thanks to Patrícia for me! 😉