Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.891 questões
Considere que os códigos apresentados a seguir estão implementados na linguagem de programação Java. Além disso, considere o construtor da classe Node, representando o nó, e o trecho inicial da classe Lista, conforme descritos nas figuras 1 e 2, respectivamente.
Diante do exposto, marque a opção que contém, na linguagem Java, o método para adicionar um novo nó (Node) ao final da Lista (método da classe Lista).
Observe o algoritmo da figura.

A execução desse algoritmo irá gerar como saída a matriz indicada na seguinte opção:
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.
Após a execução, será gerada, como resultado, a seguinte sequência de números:
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.

O algoritmo de busca binária apresentado anteriormente possui
Considerando o trecho de código precedente, extraído do arquivo .gitlab-ci.yml, julgue o próximo item.
O job build ruby 1/2 herda automaticamente a image e o before_script definidos no bloco default, bem como a variável WEBHOOK_URL definida no bloco variables.
Considerando o trecho de código precedente, extraído do arquivo .gitlab-ci.yml, julgue o próximo item.
Os jobs build ruby 1/2 e build ruby 2/2 são, por padrão, executados em paralelo no GitLab CI, a menos que haja dependências explícitas configuradas entre eles
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.
