



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
O estudo de casos de complexidade de algoritmos, com exemplos de códigos em c++ e análises de complexidade de o(1), o(log n), o(n), o(n^2), o(2^n) e o(n log n).
Tipologia: Exercícios
1 / 5
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Caso O(1) #include
Return false//(O1) //O(2 * O(1) + (ON)) = O(O(1) + (O(N))= O(N) //Podemos ver aqui que o input vai aumentar com os comandos que o usuario colocar fazenod assim virar um O(N) } Caso 4 Public void bubble_sort(int[] input) { Bool hasSwapped Do{ HasSwapped = false; For (var sort = 0; sort< input.Leght – 1; sort++)//O(N) { If (input[sort] > input [sort +1]))// { Var oldvalue = input[sort +1];// Input [sort + 1] = input[sort];// Input[sort] = oldvalue;// hasSwapped = true;// } } } while (hasSwapped); //O(N) //Aqui vemos que e O(N2) Pois temos dois O(N) Que tem que ser feitos para o programa funcionar } Caso 5 {
}private static int Partition(int[] arr, int left, int right) { int pivot = arr[left]; while (true)O(N) { while (arr[left] < pivot)O(N) { left++; } while (arr[right] > pivot)O(N) { right--; } if (left < right) { if (arr[left] == arr[right]) return right; int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } else { return right; } //Aqui podemos ver que ele tem que resolver múltiplos logs de N para poder realizar sua tarefa sendo assim um O(N LOG N); } } #include
//Aqui podemos ver que o numero de vezes que vai sair será o fatorial de quantos você colocar em N que nesse caso pode ser 5 seria o fatorial de 5 que seria 120 vezes }