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…
Tendo em vista que o XP é um dos modelos de engenharia de software ágil indicado para times pequenos e médios que desenvolvam software baseado em requisitos, redija um texto dissertativo, citando e descrevendo três valores do XP [valor: 26,00 pontos]; três práticas do XP [valor: 25,00 pontos]; e três papéis dos membros da equipe XP [valor: 25,00 pontos].
Em projetos de software de médio e grande porte, é comum observar a degradação da arquitetura ao longo do tempo, que geralmente resulta em alto acoplamento, baixo reúso de código e dificuldade de manutenção. Em muitos casos, essa situação poderia ser evitada com a aplicação consciente dos princípios de design conhecidos como SOLID, os quais embasam a abordagem orientada a objetos para a criação de sistemas com maior qualidade estrutural, facilitando testes, refatorações e extensões. A aplicação correta desses princípios pode determinar a diferença entre um sistema escalável e sustentável e um código rígido e frágil.
Considerando que o fragmento de texto acima tenha caráter unicamente motivad…



