Calculo de Custo de Algoritmo (quadrático)

  Рет қаралды 33,295

Cinthia Caliari

Cinthia Caliari

Күн бұрын

Пікірлер: 77
@andreysantos6660
@andreysantos6660 6 жыл бұрын
Com o perdão da palavra, mas que aula do CARALHO! nenhum professor meu jamais me explicou assim, cheios de títulos e etc, mas não conseguem dar uma explicação tão clara e concisa. Ensinar é um dom que honraria nenhuma compra. PARABÉNS!
@Dudlles
@Dudlles 7 жыл бұрын
Boa tarde, não costumo logar para comentar mas desta vez fiz questão, para te parabenizar pela forma clara e dedicada de explicar . Um grande abraço, continue seu excelente trabalho.
@epilefsotnas4728
@epilefsotnas4728 5 жыл бұрын
Explicação de 11m que me fez entender o que meu professor de Paa não conseguiu ensinar em horas... Nice video!
5 жыл бұрын
Aula muito boa. Meus parabéns.
@marcielledepaula3373
@marcielledepaula3373 4 жыл бұрын
Ótima aula
@leom553
@leom553 7 жыл бұрын
Muito bom, professora ! Explicação ótima. Recomendei o vídeo para colegas de sala!
@fsbf1
@fsbf1 3 жыл бұрын
Me junto aos colegas comentarista para elogiar a aula, sou mestrando e estou na merda nessa matéria. Vi aqui uma luz de esperança.
@gtbronks
@gtbronks 3 жыл бұрын
Excelente vídeo!
@fernando2852
@fernando2852 4 жыл бұрын
Foda tua explicação, mais didáticas que vi no youtube, eu compraria tranquilo um curso seu sobre complexidade de algoritmos.
@Zinidxx
@Zinidxx 2 жыл бұрын
Caralho, vtnc, pqp vc é maravilhosa. Cara, que forma fácil de explicar didática. Amei, muito obrigado. Alias assisti até outros vídeos seu. Por favor, substitua meu professor
@F4n74.
@F4n74. 6 жыл бұрын
Aula perfeita, meus parabéns.
@flaviodeassis9359
@flaviodeassis9359 6 жыл бұрын
Muito boa explicação, excelente didática.
@rafaeldsouza
@rafaeldsouza 8 жыл бұрын
excelente revisão professora, valeu
@LukasHsLima
@LukasHsLima 6 жыл бұрын
Muito obrigado pela aula!
@Anaquerziada
@Anaquerziada 8 жыл бұрын
Excelente vídeo Professora.
@VitorOliveira-by9iw
@VitorOliveira-by9iw 6 жыл бұрын
Excelente explicaçao! Obrigado
@fellippaak
@fellippaak 9 жыл бұрын
Muito bom professora!
@lllalazinha
@lllalazinha 6 жыл бұрын
Excelente explicação. 😊
@maahbtc
@maahbtc 7 жыл бұрын
Meu professor não conseguiu ensinar em 2 meses o que tu ensinastes em 2 minutos. Muito obrigado :D
@yah_2589
@yah_2589 7 жыл бұрын
Verdade
@MarcosOliveira1
@MarcosOliveira1 7 жыл бұрын
Ela é minha PROFESSORA hahahaha
@edsonmottac
@edsonmottac 6 жыл бұрын
Excelente explicação!
@fernandosantos885
@fernandosantos885 6 жыл бұрын
realmente, que explicação boa de uma coisa complicada. 1milhão de likes obrigado
@wandermm
@wandermm 8 жыл бұрын
Professora, permita uma correção. Nos seus vídeos, a senhora afirma que laço for(i=0;i
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
Meu caro, mas é exatamente isso que eu falo a partir de 0:58s: "O for vai ser rodado n+1 vezes (a linha do for e não seus comandos internos, que serão rodados n vezes apenas). O custo dele é dobrado pq toda vez que a linha do for é executada, ou ele executa i=0 e a comparação (no caso da primeira vez) ou ele executa i++ e a comparação, no caso das outras n vezes. Então teremos um total de 1.2+n.2 = 2+2n = 2(1+n) = 2(n+1). Isso quer dizer que sendo rodado n+1 vez com custo 2 a cada vez que rodar, tem-se um total de 2(n+1)
@makeemoneey
@makeemoneey 6 жыл бұрын
Cinthia Caliari, na primeira vez que rodar o laço, é executado apenas duas instruções, a atribuição "i=0" e a comparação "i
@gabrielnilo6101
@gabrielnilo6101 6 жыл бұрын
".....o "i++", que na verdade é "i = i + 1" (2 instruções)....... " na verdade o i++ tem valor de 1. verdade é isso --> i+=1 (mesma coisa que i = i +1)
@makeemoneey
@makeemoneey 6 жыл бұрын
"verdade é isso --> i+=1 (mesma coisa que i = i +1)" então conta como duas instruções (uma soma e uma atribuição)?
@tatocavalcante8070
@tatocavalcante8070 7 жыл бұрын
show de aula
@LonelyTroubadour
@LonelyTroubadour 8 жыл бұрын
Obrigado pela aula! c:
@beanascimento5456
@beanascimento5456 7 жыл бұрын
sensacional!
@igormatheus4516
@igormatheus4516 6 жыл бұрын
Muito bom!
@ramonrodrigues7301
@ramonrodrigues7301 5 жыл бұрын
Que inveja, queria que meu professor(a) de Técnicas e análise de algoritmos tivesse pelo menos 10% da sua didatica professora, parabéns
@franciscos.f9474
@franciscos.f9474 3 жыл бұрын
Não entendi muito bem porque no primeiro exemplo, no melhor caso, ficou 3n^2
@jonnathanlopes1195
@jonnathanlopes1195 9 жыл бұрын
Outra dúvida, por que todo for é multiplicado por 2, no livro do shaffer não é analisado assim! Abraço posta mais videos de resolução desses exercícios!
@CinthiaCaliari
@CinthiaCaliari 9 жыл бұрын
+Jonnathan Lopes Aqui eu estou analisando o custo de todas as comparações e todas as atribuições. Como no "for" tem sempre uma comparação e uma atribuição, é necessário multiplicar por 2.
@marigoj
@marigoj 6 жыл бұрын
O for vai parar quando MENOR QUE N = mat.length, e não MENOR ou IGUAL que... então será executado N vezes e não N+1, ou estou enganado?
@CinthiaCaliari
@CinthiaCaliari 6 жыл бұрын
Meu caro, o for vai PARAR quando a condição for FALSA e isso acontecerá quando i=mat.length. Portanto, a linha do for e só ela, será executada n+1 vezes
@anacletomachava5779
@anacletomachava5779 6 жыл бұрын
é isso mesmo
@anacletomachava5779
@anacletomachava5779 6 жыл бұрын
@@CinthiaCaliari repara q o i comeca com zero
@edvandesousasilva
@edvandesousasilva 4 жыл бұрын
Em qual livro encontro esse assunto? Estou tentando encontrar uma bibliografia pra eu ter mais referência.
@CinthiaCaliari
@CinthiaCaliari 4 жыл бұрын
Bom dia Cormen, T. H et al. Algoritmos : teoria e prática
@edvandesousasilva
@edvandesousasilva 4 жыл бұрын
@@CinthiaCaliari Muito Obrigado!!!
@matheusvianna3067
@matheusvianna3067 4 жыл бұрын
Poh Vey único PS é que você vai calculando os valores só apostando não explica da onde tá vindo as coisas pra fazer a fórmula final
@matheusviniciusandrade2733
@matheusviniciusandrade2733 6 жыл бұрын
A linha que vc chamou de (II) é executada (n^2 -2)/2 por conta do for mais interno, porém vc não deveria multiplicar por n , já que essa linha será executada para cada uma das n vezes que o for mais externo roda ?? Porque ao que me parece vc só contabilizou as vezes que essa linha vai rodar levando em conta só o for mais interno.
@CinthiaCaliari
@CinthiaCaliari 6 жыл бұрын
a expressão que deu origem à (n^2-n)/2 foi (n-1).n/2, logo, observe que o n foi multiplicado por (n-1). Então, não está faltando nada
@mrjmrezende
@mrjmrezende 8 жыл бұрын
Olá professora,Não interfere no conceito da explicação, que continua excelente, mas acredito que no segundo exemplo, no parâmetro, está faltando mais um conjunto de colchetes, visto que a matriz tem duas dimensões.
@JeffJulianZone
@JeffJulianZone 8 жыл бұрын
Olá professora td bem? Obrigado pelo vídeo ajudou bastante! Estou com dúvida no segundo exemplo. Não entendi porque na sua tabela, o elemento soma você inicia com 0 vezes. No meu ver a soma entra quando mat[0][0] é chamado. Não entendi porque não contou. Obrigado!
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
Bom dia Jeff, soma inicia com zero pq na primeira vez, i=0 (entra no primeiro for) j=0 (não entra no segundo for, pq j tem que ser
@JeffJulianZone
@JeffJulianZone 8 жыл бұрын
entendi Cinthia! obrigado
@higorcardoso1055
@higorcardoso1055 8 жыл бұрын
Não está faltando um colchete fechado no segundo "for", logo após a a primeira "soma"?!
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
No segundo exemplo, a primeira soma está dentro do segundo for e a segunda soma dentro do primeiro for. Como o segundo for só tem um comando dentro dele (a primeira soma), ele não precisa ter chaves.
@Evanheads
@Evanheads 8 жыл бұрын
professora, no custo do melhor caso, eu não entendi o 2n²+2n no segundo for, pode me explicar? 4:19
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
+Evandro Depiante Ele entre no primeiro for n vezes (e inicia o segundo for). Roda o segundo for de 0 até n, ou seja n+1 vezes, para cada vez que iniciar o for. Portanto ele rodará n.(n+1). mas, como o for tem comparação e atribuição, ou seja,, duas operações relevantes, é necessário multiplicar por dois. Assim, seu custo será n.(n+1).2 = 2n^2+2n
@pedrocamposcavalcanti3080
@pedrocamposcavalcanti3080 6 жыл бұрын
não seria algo em torno de n*log(n)?
@CinthiaCaliari
@CinthiaCaliari 6 жыл бұрын
Em nenhum dos exemplos apresentados temos custo n*log(n), mas você está se referindo a qual exemplo?
@jonnathanlopes1195
@jonnathanlopes1195 9 жыл бұрын
não há um erro em 10:33? soma vai até n-1 e não até n...se possível responder
@CinthiaCaliari
@CinthiaCaliari 9 жыл бұрын
+Jonnathan Lopes Caro Jonnathan Em SOMA, você tem uma PA que pode ser a1=0, an = n-1, tendo n termos, portanto a soma é (a1+an).ntermos/2=(0+n-1).n/2, que foi o que fiz ou então a1=1, an=n-1, tendo n-1 termos, portanto a soma é (1+n-1).(n-1)/2, que dá no mesmo
@robertdccaetano
@robertdccaetano 5 жыл бұрын
Nao consegui encontrar onde deu 7n :/ , meu somente deu 6n
@CinthiaCaliari
@CinthiaCaliari 5 жыл бұрын
2n+2n/2-n/2+n = (4n+2n-n+2n)/2 = 7n/2
@mynameispaulocesar
@mynameispaulocesar 4 жыл бұрын
@@CinthiaCaliari vish, entendi não esse 7n aí
@CinthiaCaliari
@CinthiaCaliari 4 жыл бұрын
@@mynameispaulocesar Tem que tirar o mínimo
@Pain28248
@Pain28248 8 жыл бұрын
Se a questão foi analisar passo a passo o algoritmo, faltou mais informações. Primeiro pq o laço for não executa apenas 2n vezes. Primeiro pq mesmo a matriz estando vazia, pelo menos o primeiro laço vai realizar duas instruções que é a atribuição e a comparação que daria 2 + 2n(que seria executado a cada iteração). Sobre o lance do iterar n + 1 vezes, eu discordo até porque se formos considerar o valor inicial das variáveis de iteração do seu for: i = 0 fazendo i iterar a um limite n, veremos que ele vai iterar n - 1 vezes.
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
Primeiro) Se a matriz estiver vazia ele fará; 2 vezes sim, o for de fora, e eu não omiti isso, talvez você não tenha percebido que 2(n+1) = 2n + 2 (aplicação direta da propriedade distributiva da matemática), assim, se n=0, temos 2(0+1) = 2.0+2 = 2. Segundo) veremos que ??? - não houve conclusão da frase, mas responderei assim mesmo: Se i começa com zero (0) e termina em n (termina quando a comparação for falsa), temos n+1 vezes (pode contar usando a metodologia que quiser, se estiver matematicamente correta, dará n+1 vezes).
@Pain28248
@Pain28248 8 жыл бұрын
´pode debugar um código qualquer! Vc começa em zero, então o o tamanho do vetor é tam-1. Se o seu vetor tem 10 posições com elementos aleatórios, o pior caso de uma busca sequencial, por exemplo vai ser (n-1), pois com i seu i n. Se considerar que é n + 1, vc estaria buscando uma posição que nao existe e no último elemento do seu vetor seria 9, pois 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.quando o seu i for para 10 a condição será falsa, ou seja, o laço termina, pois 10 não é menor do que 9. Se sua condição de parada do for fosse i
@CinthiaCaliari
@CinthiaCaliari 8 жыл бұрын
Continuando o seu raciocínio, se o vetor tem 10 posições (0 a 9), quando o i rodar entre 0 e 9 (ou seja, 10 vezes), ele entra no for e inicia o for de dentro (o do j). Na última vez, ou seja, quando i=9, na saída, i é incrementado de 1, passando a valer 10, e é comparado a mat.length, como o resultado será falso, o for para de ser executado e o comando passa para a linha após o for. Então, ele executou a linha do for (10 vezes - de zero a nove + a última vez com i=10 para que o resultado i
@Pain28248
@Pain28248 8 жыл бұрын
mas a senhora tá considerando o i. Leia direitinho, eu disse que o i chegaria a 10 e quando fosse para condição, ele parava. Mesmo o i sendo incrementado, não se pode provar que são 10 iterações, porque quando o i for 10 laço para e o que está dentro não é executado.Por exemplo se eu faço uma busca binária em um vetor de 10 posições sendo que o numero encontrado está na ultima posição eu tenho que afirmar que o número de passos do meu algoritmo é 10 + 1 se o a ultima de iteração de encontro do elemento encerra o algoritmo?
@Pain28248
@Pain28248 8 жыл бұрын
desculpa, busca sequencial
@jonnathanlopes1195
@jonnathanlopes1195 9 жыл бұрын
sum = 0; for (i = 0; i < 3; i++) for (j = 0; j < n; j++) sum++; poderia fazer essa?
@jonnathanlopes1195
@jonnathanlopes1195 9 жыл бұрын
pelo seu vídeo minha análise seria : Linha 1 - Custo C1Linha 2 - Custo C2 = 4 unidades.Linha 3- For interno, 2x3(n+1) (essa linha será iniciada 3 vezes, pois quando a linha 2 se torna falsa já não entra no for interno, além disso tem custo dobrado, pois há uma atribuição e uma comparação toda vez que é executada). Linha 4 - C3 T(n)= C1+C2+6n+6+C3 = 6n+C (chamando todas as constantes de = Θ(n)
@CinthiaCaliari
@CinthiaCaliari 9 жыл бұрын
+Jonnathan Lopes Linha 1 = 1 Linha 2 - 4x2=8 Linha 3 - 3x2(n+1) (custo dobrado pq tem uma comparação e uma atribuição) Linha 4 - 3xn C(n) = 9n+15
@jonnathanlopes1195
@jonnathanlopes1195 9 жыл бұрын
+Cinthia Caliari eu não teria que colocar no for interno 3x2(n+1), pois ele será executado 3 vezes.... Muito Obrigado pela atenção, estou tendo dificuldade nessa disciplina no mestrado!Abraço
@paulozera_enbassadaoa3767
@paulozera_enbassadaoa3767 6 жыл бұрын
Que linguagem é essa C ?
@CinthiaCaliari
@CinthiaCaliari 6 жыл бұрын
Fiz em Java, mas como os dois são muito parecidos, nos seus comando básicos, alguns podem pensar que é C
@GustavoHenrique-xg4ey
@GustavoHenrique-xg4ey 8 жыл бұрын
tendi nada
Calculo de Custo - Aula 1
13:02
Cinthia Caliari
Рет қаралды 12 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 45 МЛН
Hoodie gets wicked makeover! 😲
00:47
Justin Flom
Рет қаралды 128 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
3.5 Strategies for Comparing Fractions (Eicher)
3:31
Brent Pottinger
Рет қаралды 7
COMPLEXIDADE de Selection, Bubble, Insertion Sort | Algoritmos #6
20:14
Programação Dinâmica
Рет қаралды 22 М.
Videoaula 2.1 - Complexidade: Pior Caso, Melhor Caso e Caso Médio
20:15
Patricia Jaques Maillard
Рет қаралды 21 М.
Videoaula 1.4 - Como calcular a complexidade (Parte II)
17:37
Patricia Jaques Maillard
Рет қаралды 13 М.
Introdução ao Estudo de Algoritmos de Ordenação - EDA2 a01
18:56
Prof. Bruno Ribas
Рет қаралды 7 М.
Complexidade de Algoritmos (Aula 1).
23:43
Cristiano Vasconcellos
Рет қаралды 20 М.
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 45 МЛН