Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.520 questões
I- O grafo necessariamente contém, pelo menos, 1 (um) ciclo.
II- Ao representá-lo como matriz de adjacência, haverá exatamente n 2 entradas com valor 1 (um).
III- A complexidade de tempo de uma busca em profundidade (DFS) para percorrer todos os vértices e arestas é O(log n).
IV- Um grafo simples e conexo com n vértices e n arestas pode conter exatamente 2 (dois) vértices de grau 1 (um).
Assinale a alternativa com as sentenças CORRETAS sobre o grafo apresentado.
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.
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.
I. “Para representar um livro com atributos como título, autor e ISBN, utiliza-se ___________, que agrupa esses diferentes tipos de dados sob um único tipo composto.”
II. “Para armazenar uma coleção ordenada de livros onde cada livro pode ser acessado por um índice numérico, utiliza-se ___________.”
III. “Para associar cada ISBN único a um registro de livro correspondente, permitindo buscas rápidas, utiliza-se ___________.”
IV. “Para manter a lista de empréstimos onde novos empréstimos são adicionados e removidos frequentemente, utiliza-se ___________, que permite inserções e remoções eficientes em qualquer posição.”
V. “Para armazenar os nomes dos autores de forma que não haja duplicatas e que permita operações eficientes de verificação de existência, utiliza-se ___________.”
Assinale a alternativa que completa correta e sequencialmente as afirmações anteriores.
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á: