Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.406 questões
Para grandes volumes de dados, um algoritmo com complexidade de tempo O(n) (linear) é considerado menos eficiente que um algoritmo com complexidade de tempo O(n log n), uma vez que o crescimento linear é mais acentuado que o crescimento logarítmico.
Considere dois algoritmos que resolvem o mesmo problema.
Entretanto, o algoritmo A tem complexidade O(n2), enquanto o algoritmo B, tem complexidade O(n log n), em que n representa o tamanho da entrada.
Em termos de desempenho assintótico, acerca desses algoritmos, ¢ correto afirmar que
Considere o seguinte trecho de código em Python construído por um desenvolvedor:
def soma_parcial(lista):
total = 0
for i in range(len(lista)):
if lista[i] % 2 == 0:
total += lista[i]
return total
Sabendo que lista é não vazia e contém n inteiros, assinale a alternativa que apresenta a Complexidade do Algoritmo no melhor e no pior caso, respectivamente.
Considere o seguinte trecho de código em Python construído por um desenvolvedor:
def busca(lista, alvo):
for i in range(len(lista)):
if lista[i] == alvo:
return i
return -1
Diante do exposto, assinale a alternativa que apresenta a Complexidade do Algoritmo no melhor e no pior caso, respectivamente.
I Essa categoria de algoritmos da análise supervisionada realiza a classificação dos dados em um número limitado de classes, de modo a utilizar apenas os valores das variáveis de entrada como base.
II As árvores de decisão são mais apropriadas para dados categóricos e intervalares, portanto, o uso de variáveis contínuas em árvores de decisão requer a discretização, que consiste na transformação de variáveis numéricas contínuas em intervalos ou categorias.
III O algoritmo Random Forest utiliza o método bagging para a criação de múltiplas árvores de decisão independentes e combina as previsões para melhorar a precisão e reduzir o risco de overfitting.
Assinale a opção correta.
A respeito do CMMI 2.0 e do MPS.BR Referência Guia Geral MPS Software 2023, julgue o item subsequente.
No CMMI, os níveis de capacidade estão estruturados do nível 0 ao nível 4 e indicam o grau de maturidade de áreas de processo individuais no modelo por estágio.
valor = 1 Enquanto valor < 20 faça Início valor = valor + 1 escreva (valor) Fim;
A codificação que gera o mesmo resultado da estrutura acima e que utiliza a estrutura PARA, corresponde à seguinte opção:
• Implementação 1: o algoritmo percorre repetidamente a lista, comparando e trocando elementos adjacentes até que toda a lista esteja ordenada.
• Implementação 2: a lista é dividida em duas metades recursivamente, e as metades ordenadas são combinadas para formar a lista final.
• Implementação 3: o algoritmo constrói a lista ordenada elemento por elemento, inserindo cada novo item na posição correta.
• Implementação 4: uma estrutura de heap é utilizada para armazenar os elementos, garantindo que o maior ou menor elemento seja extraído de forma eficiente.
Com base nas descrições anteriores, assinale a alternativa que relaciona corretamente as implementações aos algoritmos de ordenação.
algoritmo "ExemploRepeticao" var i, soma: inteiro inicio soma <- 0 // Estrutura de repetição 1 para i de 1 ate 5 faca soma <- soma + i fimpara
// Estrutura de repetição 2 i <- 1 enquanto i <= 5 faca soma <- soma + i i <- i + 1 fimenquanto
// Estrutura de repetição 3 i <- 1 repita soma <- soma + i i <- i + 1 ate i > 5
escreva("Valor final de soma: ", soma) fimalgoritmo
Sobre o código, analise as afirmativas a seguir.
I. A primeira estrutura de repetição (para) soma os números de 1 a 5, resultando em soma = 15.
II. A segunda estrutura de repetição (enquanto) também soma os números de 1 a 5, acumulando ao valor anterior de soma, resultando em soma = 30.
III. A terceira estrutura de repetição (repita...ate) soma os números de 1 a 5, acumulando ao valor anterior de soma, resultando em soma = 45.
IV. O valor final exibido de soma será 45.
Está correto o que se afirma em
função calcular(valor inteiro x) retorna inteiro { inteiro resultado se (x <= 1) { resultado = 1 } senão se (x mod 2 == 0) { resultado = x / 2 + calcular(x - 1) } senão { resultado = x * 3 + calcular(x - 2) } retorna resultado } início { inteiro num = 5 inteiro res = calcular(num) escreva("Resultado: ", res) }
A saída do programa após sua execução será:
O nome do problema encontrado por Raimundo é
I. A princípio, um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários para a resolução de uma tarefa.
II. Um algoritmo é uma sequência lógica, finita e definida de instruções que devem ser seguidas para resolver um problema ou executar uma tarefa.
III. A partir dos conhecimentos tidos como verdadeiros, caberia à Lógica de Programação a formulação de leis gerais de encadeamentos lógicos que levariam à descoberta de novas verdades.
Está CORRETO o que se afirma:
Com referência à matemática computacional e à ciência da computação aplicadas, julgue o item a seguir.
A notação Big O é utilizada para descrever o comportamento assintótico de um algoritmo, fornecendo um limite superior para o tempo de execução ou uso de memória em função do tamanho da entrada.