Complexidade de algoritmos
Considere o algoritmo iterativo mostrado a seguir, utilizado para determinar o maior e o menor elemento de um vetor A[1..n].
void MaxMin (int *A, int N) {
int Max = A[0];
int Min = A[N – 1];
for (int j = 1; j <= N – 1; j++)
if (A[j] > Max) Max = A[j];
else if (A[j] < Min) Min = A[j];
printf(“%d, %d”, Max, Min);
}
Nesse vetor, sabe-se que N elementos estão distribuídos aleatoriamente.
Considerando essas informações, elabore um texto dissertativo contínuo sobre análise de algoritmos. No seu texto, aborde o que se pede:
1) Discorra sobre a função de complexidade do número de comparações de elementos no melhor e no pior caso;
2) Implemente um algoritmo recursivo MaxminRec, com complexidade menor que n * log(n) e que usa o paradigma “dividir para conquistar” para resolver o mesmo problema.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
A pirâmide de testes e a qualidade de software
Com a crescente complexidade de softwares, junto à maior exigência de precisão, a qualidade dos sistemas tem se tornado tópico de relevante interesse no âmbito do desenvolvimento de sistemas de TI. A necessidade de processos digitais mais rápidos e que ofereçam a melhor experiência possível para os usuários exige a garantia de que o software seja entregue da maneira esperada. O alcance desse objetivo pode ser apoiado pela adoção da pirâmide de testes, um esquema visual que hierarquiza o entendimento dos tipos, dos níveis, das quantidades e da complexidade dos testes de software, apoiando o planejamento e a garantia da qualidade do projeto. Os te…
Redija um texto dissertativo acerca de tecnologias de desenvolvimento web. Em seu texto, apresente a definição e o principal objetivo de SPA (single page application) [valor: 4,75 pontos] e AJAX [valor: 4,75 pontos].
O intercâmbio de dados entre aplicações é o processo de transmitir e receber informações entre sistemas distintos, permitindo que eles operem em conjunto e compartilhem dados de forma integrada. Esse processo é essencial em cenários onde diferentes aplicações precisam colaborar para fornecer uma experiência coesa ou uma visão unificada dos dados.
Dois dos principais formatos de dados utilizados atualmente são JSON (JavaScript Object Notation), formato leve e fácil de ler, amplamente usado em APIs RESTful; e o XML (Extensible Markup Language), mais verboso que o JSON, mas permite esquemas complexos, sendo comum em Web Services SOAP.
A seguir, é apresentado um fragmento de código em XML:
<p…




