Calculo de Custo - Aula 1

  Рет қаралды 12,822

Cinthia Caliari

Cinthia Caliari

Күн бұрын

Пікірлер: 36
@ItachiUchiha-fd5cs
@ItachiUchiha-fd5cs 6 жыл бұрын
Prece uma coisa simples, mas a dica do maior menos o menor +1 esta me ajudando muito Obrigado professora
@nathaliacarnevalli
@nathaliacarnevalli 3 жыл бұрын
Oi professora! Gostei muito da aula :). Tenho uma dúvida, no exemplo 2 no primeiro for ficou 2(n+1) mas não deveria ser 2n... não entendi. Grata pela atenção.
@CinthiaCaliari
@CinthiaCaliari 3 жыл бұрын
Bom dia. De zero até n, fazendo o maior menos o menor mais um,.termos n-0+1 = n+1
@jeftefariamatamba6030
@jeftefariamatamba6030 4 жыл бұрын
@cinthia vendo em 2020. bastante util
@mirellas.4243
@mirellas.4243 5 жыл бұрын
E quando o método é recursivo, como faço? No If a condição de parada é se a posição for par correto, Custo = 1? Por fazer uma comparação uma vez. No Else não sei como medir o custo. Me ajuda por favor. int q1(inf[ ] vet, obg pos){ If(pos== vet.length/2) return vet[ pos]; Else return (vet[pos] + vet[ver.lenght-1-pos] + q1(vet, pos+1)); }
@robertdccaetano
@robertdccaetano 5 жыл бұрын
Shoooow de bola! Deus vos abençoe!!!
@edvandesousasilva
@edvandesousasilva 4 жыл бұрын
Em qual livro encontro esse assunto? Estou procurando uma bibliografia para ter mais referencia.
@mynameispaulocesar
@mynameispaulocesar 4 жыл бұрын
Faz mais vídeos por favor! Sua explicação em 13 minutos fez eu entender mais do que 1 mês com o meu professor, e se duvidar vai acabar o semestre e eu não vou entender nem 1 virgula com a explicação dele.
@teocritoheleno4171
@teocritoheleno4171 5 жыл бұрын
Ah se todos fossem iguais a você, que maravilha aprender... Obrigado professora!
@edilsonfranca3222
@edilsonfranca3222 4 жыл бұрын
Muito obrigado Cinthia Caliari !! você merece o meu like e a minha inscrição
@italo1398
@italo1398 7 жыл бұрын
Maravilha de explicação !
@abner9829
@abner9829 5 жыл бұрын
Duvida Urgente!!! Se abaixo de um if tiver um retorno o custo desta operação abaixo será 1 no pior caso,por exemplo: for(...) --> custo 2(n+1) if(..) --> custo n return true; --> custo no pior caso = 1 ou N
@CinthiaCaliari
@CinthiaCaliari 5 жыл бұрын
Se dentro do if tiver um retorno, o fato dele entrar no if na primeira vez será considerado o melhor caso, e aí for(...) --> custo 2 if(..) --> custo 1 return true; --> custo 1 O pior caso é ele nunca entrar no if for(...) --> custo 2(n+1) if(..) --> custo n return true; --> 0
@andrealuiza9674
@andrealuiza9674 6 жыл бұрын
Parabéns pela didática de ensino. Excelente aula! Obrigada!
@jhonataamboni8259
@jhonataamboni8259 2 жыл бұрын
Mt bom. Obrigado!
@weronicas.santos6700
@weronicas.santos6700 6 жыл бұрын
Explicação maravilhosa!!! Obrigada!
@mirellas.4243
@mirellas.4243 5 жыл бұрын
Excelente explicação!!!!!
@MarcosOliveira1
@MarcosOliveira1 6 жыл бұрын
Fé no pai que aquela aprovação sai!!!
@zuenirclaudio4941
@zuenirclaudio4941 7 жыл бұрын
Excelente Aula, ajudou muito. Abrigado... E quando temos esse caso: while(!q.isEmpty()) # n { int u=q.poll(); topOrder.add(u); for(int node : adj[u]) { if(--indegree[node] == 0) q.add(node); } cnt++; # 1 }
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
Esse trecho de algoritmo é quadrático, pois temos um comando de repetição dentro de outro (for dentro de while). Mas para fazer o cálculo exato, é necessário saber o número mínimo e máximo de vértices adjacentes de cada nodo.
@zuenirclaudio4941
@zuenirclaudio4941 7 жыл бұрын
é mais ou menos assim o algoritmo que tenho: int V;// No. of vertices //An Array of List which contains //references to the Adjacency List of //each vertex List adj[]; long tempoInicial = System.currentTimeMillis(); public Graph(int V)// Constructor { this.V = V; adj = new ArrayList[V]; for(int i = 0; i < V; i++) adj[i]=new ArrayList(); } // function to add an edge to graph public void addEdge(int u,int v) { adj[u].add(v); } // prints a Topological Sort of the complete graph public void topologicalSort() { // Create a array to store indegrees of all // vertices. Initialize all indegrees as 0. int indegree[] = new int[V]; // Traverse adjacency lists to fill indegrees of // vertices. This step takes O(V+E) time for(int i = 0; i < V; i++) { ArrayList temp = (ArrayList) adj[i]; for(int node : temp) { indegree[node]++; } } // Create a queue and enqueue all vertices with // indegree 0 Queue q = new LinkedList(); for(int i = 0;i < V; i++) { if(indegree[i]==0) q.add(i); } // Initialize count of visited vertices int cnt = 0; // Create a vector to store result (A topological // ordering of the vertices) Vector topOrder=new Vector(); while(!q.isEmpty()) { // Extract front of queue (or perform dequeue) // and add it to topological order int u=q.poll(); topOrder.add(u); // Iterate through all its neighbouring nodes // of dequeued node u and decrease their in-degree // by 1 for(int node : adj[u]) { // If in-degree becomes zero, add it to queue if(--indegree[node] == 0) q.add(node); } cnt++; } // Check if there was a cycle if(cnt != V) { System.out.println("There exists a cycle in the graph"); return ; } // Print topological order for(int i : topOrder) { System.out.println(i+" "); } System.out.println("tempo de execucao: " + (System.currentTimeMillis()/1000)); }
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
Desculpe não ter respondido antes. Mas essa semana está sendo punk pra mim. Bom, vamos lá. Tenho um for dentro de um while (custo quadrático). Para saber o custo exato, tem-se que analisar a quantidade de possíveis nodos adjacentes, pois o custo está diretamente ligado a isso ( for(int node : adj[u])). Poderia tomar como n (tamanho de q) e n (tamanho de m), a princípio meu custo seria da ordem O (m.n), mas também seria necessário saber o custo, ou pelo menos a ordem dos métodos usados nesse trecho (poll(), add(obj))
@paulamyrianlimapedroso1272
@paulamyrianlimapedroso1272 5 жыл бұрын
Muito obrigada...
@thiagonunes2751
@thiagonunes2751 5 жыл бұрын
Obrigado!!!!!
@lairochampoudry9071
@lairochampoudry9071 7 жыл бұрын
Fiquei em dúvida agora, pois vi um outro vídeo que deu outro valor no mesmo código: kzbin.info/www/bejne/aqGoZaCvgbNqhqc
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
Caro Lairo, observe que os algoritmos são ligeiramente diferentes, embora façam a mesma coisa, ou seja, procurar o maior elemento de um vetor. Este algoritmo é um pouco mais eficiente que aquele. Então vamos lá: No algoritmo desse vídeo, temos que o segundo for é : for (j=1; j
@amandaazevedo5902
@amandaazevedo5902 5 жыл бұрын
Obrigadaaa!
@Luc4sm13
@Luc4sm13 6 жыл бұрын
Muito obrigado!
@JuniorAlves-hd5td
@JuniorAlves-hd5td 7 жыл бұрын
Cadê a aula 2 ??
@JuniorAlves-hd5td
@JuniorAlves-hd5td 7 жыл бұрын
O link não leva a nenhum video
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
kzbin.info/www/bejne/aqGoZaCvgbNqhqc
@JuniorAlves-hd5td
@JuniorAlves-hd5td 7 жыл бұрын
Obrigado mas ainda tenho duvidas com while e da mesma forma que o for ?
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
Em um algoritmo qualquer você deve contar as atribuições e as comparações. Assim, o princípio é o mesmo, independente do comando. O for tem os dois (atribuição e comparação) no mesmo comando, por isso seu custo será dobrado. O while só possui a comparação, pois se houver atribuição, ela estará no seu corpo e será contado na linha em que aparecer. Espero que tenha esclarecido
@charlesagra9446
@charlesagra9446 7 жыл бұрын
O custo do for do exemplo 2 não é 2n?
@CinthiaCaliari
@CinthiaCaliari 7 жыл бұрын
O for começa a ser contado quando i=0 e termina quando a comparação for falsa. A comparação será falsa quando i=mat.length, ou seja, quando i=n. Assim, teremos seu custo 2(n+1). Observe que o custo do for é um a mais que o custo dos comandos que estão dentro dele.
@charlesagra9446
@charlesagra9446 7 жыл бұрын
Hum entendi muito obrigado.
Calculo de Custo de Algoritmo (quadrático)
11:29
Cinthia Caliari
Рет қаралды 33 М.
小丑妹妹插队被妈妈教训!#小丑#路飞#家庭#搞笑
00:12
家庭搞笑日记
Рет қаралды 38 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 19 МЛН
COMPLEXIDADE de ALGORITMOS I - Noção INTUITIVA
15:10
Programação Dinâmica
Рет қаралды 78 М.
Videoaula 2.1 - Complexidade: Pior Caso, Melhor Caso e Caso Médio
20:15
Patricia Jaques Maillard
Рет қаралды 21 М.
Notação do O Grande - Complexidade de Algoritmos II
25:08
Programação Dinâmica
Рет қаралды 45 М.
Cálculo de Máximo e Mínimo Locais e Ponto de Sela
9:48
Cinthia Caliari
Рет қаралды 10 М.
Estrutura de Dados em C | Aula 100 - Análise de Algoritmos - Contando Instruções
10:11
Programação Descomplicada | Linguagem C
Рет қаралды 39 М.
Selection Sort - Funcionamento e Cálculo do Custo
10:38
Cinthia Caliari
Рет қаралды 4,4 М.
How to: Work at Google - Example Coding/Engineering Interview
24:02
Life at Google
Рет қаралды 7 МЛН
小丑妹妹插队被妈妈教训!#小丑#路飞#家庭#搞笑
00:12
家庭搞笑日记
Рет қаралды 38 МЛН