Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.780 questões
( ) Lista é uma estrutura na qual as operações “inserir”, “retirar” e “localizar” são definidas. São estruturas muito flexíveis porque podem crescer ou diminuir de tamanho durante a execução de um programa, de acordo com a demanda.
( ) Listas são adequadas para aplicações em que não é possível prever a demanda por memória, permitindo a manipulação de quantidades imprevisíveis de dados, de formato também imprevisível.
( ) Uma pilha é uma lista linear em que todas as inserções, retiradas e geralmente todos os acessos são feitos em apenas um extremo da lista.
( ) Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da lista, e todas as retiradas e geralmente os acessos são realizados no outro extremo da lista.
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.
Para gerenciar a ordem de execução de chamadas de função em um programa recursivo, a estrutura de dados mais adequada é a pilha (stack), pois sua característica LIFO (last-in, first-out) espelha o fluxo de execução em que a última função chamada é a primeira a finalizar sua execução e retornar.
class No: def __init__(self, dado): self.dado = dado self.proximo = None
Considere ainda o trecho de código em Python que manipula a Lista Simplesmente Encadeada e que está declarado dentro da classe ListaEncadeada:
A classe ListaEncadeada contém outros métodos que permitem a sua completa manipulação, como inserir elemento no início, inserir elemento no final, exibir conteúdo da lista e remover elementos. Assinale a alternativa que apresenta o conteúdo retornado pelo metodoZ, quando for enviado como parâmetro a seguinte Lista Ligada: [15, 28, 2, 10, 50, 14, 77]
Em relação à matriz de distância gerada, assinale a alternativa correta.
Assinale a alternativa que apresenta a categoria de análise espacial na qual esse problema se encaixa.
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 pseudocódigo, que utiliza uma pilha:
inicialize pilha vazia
para i de 1 até 4:
empilhar(i)
enquanto pilha não estiver vazia:
x < desempilhar ()
imprimir (x)
A esse respeito, qual será a saída do programa, considerando-se o comportamento padrão de uma pilha?
Observe o código Python a seguir.

A partir do código apresentado, que implementa um algoritmo de ordenação, a função metodo_ordenacao que implementa o algoritmo é
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: