Questões de Concurso Comentadas sobre algoritmos e estrutura de dados
Foram encontradas 2.682 questões
Uma ___________ é uma estrutura de dados que segue o princípio LIFO (Last In, First Out). Os elementos são inseridos no topo (push) e removidos do topo (pop). Um(a) ___________ é uma coleção de vértices (ou nós) e arestas que conectam esses vértices. Pode ser dirigido(a) (as arestas têm uma direção) ou não dirigido(a).
( ) 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.
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?
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.