Questões de Concurso Comentadas sobre complexidade de algoritmos em algoritmos e estrutura de dados

Foram encontradas 137 questões

Ano: 2026 Banca: FGV Órgão: AMAZUL Prova: FGV - 2026 - AMAZUL - Engenheiro de Computação |
Q3851260 Algoritmos e Estrutura de Dados
Um desenvolvedor precisa implementar um algoritmo de busca em uma estrutura de dados que armazena 1 milhão de registros ordenados. O requisito é encontrar um registro específico com o menor número de comparações possível.
O algoritmo e a complexidade de tempo mais adequados são
Alternativas
Q3531967 Algoritmos e Estrutura de Dados
No que se refere ao SonarQube, às estruturas de dados e à complexidade de algoritmos, julgue os itens subsecutivos. 
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.  
Alternativas
Q3350208 Algoritmos e Estrutura de Dados
O analista Raimundo sabe que a indução de árvores de decisão é uma das formas mais simples, e ainda assim mais bem sucedidas, de aprendizagem de máquina. No entanto, ao aplicá-la em alguns problemas da empresa em que atua, o algoritmo de aprendizagem-em-árvore-de-decisão gera uma grande árvore quando realmente não há padrão a ser encontrado nos dados.
O nome do problema encontrado por Raimundo é  
Alternativas
Q3299567 Algoritmos e Estrutura de Dados
Na análise de complexidade de algoritmo, uma função f(n) é Ω (t(n)) se, e somente se, a seguintecondição for satisfeita, onde c e k são constantes positivas:
Alternativas
Q3247488 Algoritmos e Estrutura de Dados
Os algoritmos são sequências lógicas e finitas de passos que resolvem problemas específicos, sendo a base para o desenvolvimento de sistemas computacionais. Sobre algoritmos, analise as afirmativas a seguir:
I. Algoritmos recursivos são aqueles que se definem em termos de si mesmos, exigindo uma condição base para evitar chamadas infinitas.
II. A complexidade de tempo de um algoritmo refere-se exclusivamente ao número de passos necessários para executar o código, desconsiderando a entrada do problema.
III. Um algoritmo pode ser implementado em diferentes linguagens de programação, desde que sua lógica seja preservada.
Está correto o que se afirma em:
Alternativas
Q3218891 Algoritmos e Estrutura de Dados
Considere o algoritmo de ordenação para um vetor de inteiros em linguagem Javascript descrito a seguir:

sort = (array) => {         if (array.length <= 1) {                 return array;         }         const pivot = array[array.length - 1];         const left = [];         const right = [];         for (let i = 0; i < array.length - 1; i++) {                 if (array[i] < pivot) {                         left.push(array[i]);                   } else {
                        right.push(array[i]);                 }         }         return [...sort(left), pivot, ...sort(right)];
}

Considerando n como o tamanho do vetor, assinale a alternativa CORRETA que corresponde à complexidade média de tempo do algoritmo na notação Big-O:
Alternativas
Q3333900 Algoritmos e Estrutura de Dados

Um pesquisador está usando um algoritmo genético para encontrar o melhor conjunto de features possíveis para um problema. No entanto, durante a execução do algoritmo o pesquisador percebe que as soluções geradas sempre divergem para a mesma solução subótima.



Tendo em vista o cenário apresentado, assinale a alternativa que apresenta a ação que irá melhorar a exploração do espaço de respostas a fim de evitar a rápida convergência.

Alternativas
Q3331206 Algoritmos e Estrutura de Dados
Os algoritmos de alinhamento de sequências são essenciais para a análise de sequências biológicas. Esses algoritmos são utilizados em diversas tarefas na Bioinformática, tais como montagem de genomas, análise filogenética e busca por similaridade. Com relação aos algoritmos de alinhamentos, analise as assertivas abaixo.

I. O algoritmo de alinhamento global Needleman-Wunsch consome tempo O(nm), onde n e m são os comprimentos das sequências que serão alinhadas.

II. A matriz de programação dinâmica que o algoritmo Smith-Waterman calcula tem entradas negativas ao alinhar duas sequências de nucleotídeos no sistema de escore que fornece uma penalidade de -5 de abertura de lacuna.

III. O e-value é o valor de probabilidade de encontrar, ao acaso, um hit com um escore maior que o escore calculado do alinhamento.

IV. Dependendo do sistema de pontuação utilizado, o problema de alinhamento múltiplo é NP-hard.

V. O algoritmo de alinhamento semi-global pode ser utilizado para ajudar na montagem de genomas.


Das assertivas acima, apenas: 
Alternativas
Q3268804 Algoritmos e Estrutura de Dados
Assinale a alternativa que apresenta a situação em que a recursividade pode ser menos eficiente que a iteração.
Alternativas
Q3172921 Algoritmos e Estrutura de Dados
Considere o conceito de complexidade polinomial, definido como O(p(n)), onde p(n) é um polinômio e O representa o limite superior da complexidade de um algoritmo. Algoritmos que pertencem à classe P são aqueles que possuem soluções algorítmicas cuja complexidade é limitada por um polinômio de grau k, ou seja, O(nk) para alguma constante k.
Esse tipo de problema é considerado solucionável em tempo "razoável" ou eficiente. Dado esse contexto, analise as afirmativas a abaixo sobre a classe P e a complexidade polinomial.
I. Algoritmos de ordenação como a ordenação por inserção têm uma complexidade polinomial de O(n 2 ), o que os coloca na classe P.
II. A classe P engloba todos os problemas que podem ser resolvidos por algoritmos em tempo polinomial, independente de hardware.
III. Algoritmos de pesquisa binária, embora eficientes, não são classificados como pertencentes à classe P, pois sua complexidade é logarítmica, e não polinomial.
IV. Um algoritmo que possui uma complexidade de tempo O(n k ), onde k é constante, resolve o problema no pior caso em tempo polinomial e, portanto, pertence à classe P.
Estão corretas as afirmativas:
Alternativas
Q3072546 Algoritmos e Estrutura de Dados
Na área de Análise de Algoritmos, a notação assintótica é fundamental para descrever a complexidade de algoritmos. Considere as seguintes definições e propriedades da notação assintótica: O-notation (O grande), Ω-notation (Ômega grande), e Θ-notation (Theta grande). Qual das afirmativas a seguir é a mais correta em relação à análise assintótica de algoritmos?
Alternativas
Q3072545 Algoritmos e Estrutura de Dados
Na computação, várias disciplinas aplicam conceitos matemáticos avançados para resolver problemas complexos. Uma dessas disciplinas é a Teoria da Complexidade Computacional, que estuda a eficiência dos algoritmos e a dificuldade dos problemas. Considere os conceitos de classes de complexidade, problemas NP-completos e algoritmos aproximados. Qual das seguintes afirmações sobre essas disciplinas é a mais correta?
Alternativas
Q2589846 Algoritmos e Estrutura de Dados

Um problema computacional é dito NP-completo quando

Alternativas
Q2518301 Algoritmos e Estrutura de Dados
O problema de previsão numérica de tempo em escala global é de altíssima dimensionalidade, envolvendo, por exemplo, representações de estados com centenas de milhões de variáveis.

Essa alta dimensionalidade impõe grandes dificuldades para a aplicação de filtros de partículas (PF) em problemas de assimilação de dados com muitas observações independentes, porque nessas situações o número de partículas necessárias para representar as distribuições de probabilidade cresce exponencialmente.

Técnicas recentemente desenvolvidas que visam contornar essas dificuldades baseiam-se em combinar filtros de partículas e filtros de Kalman por conjunto (EnKF), criando-se soluções híbridas PF-EnKF.

Assinale a opção que indica a principal vantagem de se utilizar filtros híbridos PF-EnKF.
Alternativas
Q2518300 Algoritmos e Estrutura de Dados
A reamostragem em filtros de partículas pode ser realizada por meio da criação de novas amostras retiradas das distribuições de probabilidade discretas correspondentes a conjuntos de partículas e suas configurações de pesos. No entanto, o fato de as novas amostras serem criadas exatamente nos mesmos pontos do espaço em que se localizam as partículas anteriores é inconveniente, pois facilita o empobrecimento das partículas (i.e., o chamado particle impoverishment).

Uma forma de produzir um novo conjunto de partículas em pontos distintos é substituir as distribuições discretas de probabilidade por aproximações contínuas e, somente então, realizar a reamostragem. A criação dessas aproximações se dá por meio de uma operação matemática entre a distribuição de probabilidade discreta e um kernel contínuo.

Nesse contexto, o processo de reamostragem em distribuições de probabilidade contínuas, que aproximam distribuições discretas correspondentes às configurações de partículas, é chamado de
Alternativas
Q2518298 Algoritmos e Estrutura de Dados
Filtros de Partículas são implementações não paramétricas de filtros Bayesianos em que as distribuições de probabilidade não são explicitamente definidas, sendo, portanto, representadas por um conjunto de amostras provenientes delas próprias (denominadas partículas).

Com relação aos filtros de partículas, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.

( ) As partículas representam observações (ou medidas) obtidas por sensores aplicados ao sistema em análise, e a elas são associados pesos proporcionais às suas probabilidades de coincidirem com medidas correspondentes ao estado verdadeiro do sistema.
( ) Quando aplicados à assimilação de dados, a cada passo de assimilação, novos pesos são atribuídos às partículas. Caso não seja realizado nenhum processo de reamostragem, o conjunto de partículas costuma degenerar-se, com uma das partículas recebendo peso normalizado próximo de 1 e as outras partículas recebendo pesos normalizados próximos de 0.
( ) São capazes de representar distribuições de probabilidade multimodais, isto é, cujas densidades de probabilidade possuem mais de um máximo local.

As afirmativas são, respectivamente,
Alternativas
Q2518080 Algoritmos e Estrutura de Dados
O cálculo da complexidade computacional é essencial para verificar a viabilidade do algoritmo. Observe o código a seguir, em Python, para o problema da torre de Hanoi.

def hanoi(n, o, d, a):
if n==1:
print("D1 de "+o+" p/ "+d)
else:
hanoi(n-1, o, a, d)
print("D"+str(n)+" de "+o+" p/ "+d)
hanoi(n-1, a, d, o)

A complexidade desse algoritmo no pior caso é:
Alternativas
Q2518068 Algoritmos e Estrutura de Dados
O analista José precisa escolher entre dois algoritmos, Abusca e Cbusca. José sabe que, sendo N o tamanho da entrada do algoritmo, Abusca requer 2N + log2(N) operações para ser executado. Já o Cbusca requer N4 + N operações para ser executado. José determinou, na notação O-grande, a complexidade de tempo no pior caso para cada algoritmo e, por fim, deve escolher o algoritmo que apresenta a menor ordem de complexidade no pior caso.

José deve escolher o algoritmo:
Alternativas
Q2475445 Algoritmos e Estrutura de Dados
No desenvolvimento de uma aplicação, uma etapa fundamental e primordial durante todo o processo é a construção de algoritmos. O algoritmo é uma sequência de raciocínios, instruções e operações que trabalham conjuntamente para alcançar um objetivo. Um sistema é constituído de diversos algoritmos que recebem múltiplas entradas de dados, manipulando-as através de processamento, para que sejam geradas saídas com informações úteis e relevantes para os usuários. Sobre essas estruturas, marque V para as afirmativas verdadeiras e F para as falsas.

( ) A propriedade finitude afirma que um algoritmo deve ter um número finito de instruções, garantindo que ele termine sua execução em algum momento.
( ) A propriedade do determinismo afirma que um algoritmo deve produzir o mesmo resultado sempre que for executado com determinados dados de entrada, produzindo sempre um resultado correto.
( ) Um algoritmo de ordenação pode ser utilizado para organizar uma lista de elementos em ordem crescente ou decrescente.
( ) Um algoritmo guloso pode ser utilizado para resolver um problema dividindo-o em problemas menores para resolvê-los recursivamente.

A sequência está correta em 
Alternativas
Q2471739 Algoritmos e Estrutura de Dados
A análise de componente principal (PCA — principal component analysis) é uma técnica utilizada no processo de análise e classificação por aprendizagem de máquina. A PCA
Alternativas
Respostas
1: E
2: E
3: C
4: A
5: D
6: B
7: E
8: A
9: C
10: A
11: D
12: C
13: B
14: C
15: E
16: D
17: A
18: C
19: B
20: B