Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.780 questões
Sobre análise de complexidade e algoritmos de ordenação, analise as assertivas a seguir:
I. A notação O (big-O) define um limite superior assintótico: f(n) = O(g(n)) se, e somente se, existem constantes c > 0 e n₀ ≥ 1 tais que 0 ≤ f(n) ≤ c·g(n) para todo n ≥ n₀.
II. O Merge Sort apresenta complexidade Θ(n log n) no pior, no melhor e no caso médio, mantendo esse desempenho independentemente da distribuição de entrada.
III. O algoritmo Quick Sort com estratégia de pivô aleatório (randomized quicksort) possui complexidade Θ(n log n) no pior caso, eliminando completamente a possibilidade de comportamento quadrático.
IV. Se um algoritmo tem complexidade O(n²), então ele também tem complexidade O(n³), pois toda função limitada superiormente por c·n² também é limitada superiormente por c·n³ para n suficientemente grande.
Quais estão corretas?
Considere árvores B não vazias, com grau mínimo t ≥ 2. Para árvores B+, adote a convenção usual de sistemas de indexação: todas as chaves de dados permanecem nas folhas, enquanto os nodos (nós) internos armazenam apenas chaves separadoras; todas as folhas estão na mesma profundidade. Nesse contexto, analise as assertivas a seguir:
I. Em uma árvore B de grau mínimo t, todo nodo não raiz armazena entre t−1 e 2t−1 chaves; a raiz armazena entre 1 e 2t−1 chaves.
II. A altura de uma árvore B aumenta somente quando a raiz é dividida e diminui somente quando, após uma fusão, uma raiz interna fica sem chaves e é substituída por seu único filho.
III. Na inserção em uma árvore B+, a divisão de uma folha cheia remove da folha a chave separadora promovida ao pai, exatamente como ocorre na divisão de um nodo em uma árvore B convencional.
IV. A altura h de uma árvore B de grau mínimo t, com n chaves, satisfaz h ≤ logt((n+1)/2). Para t=500 e n=10⁹, conclui-se que h ≤ 3; ou seja, o caminho da raiz até uma folha contém no máximo 4 nodos.
Assumindo um nodo por página de disco e a raiz residente em memória principal, uma busca exige, no máximo, 3 acessos a disco.
Quais estão corretas?
I.Um algoritmo pode ser entendido como uma sequência organizada de passos destinada a resolver um problema ou executar uma tarefa computacional, podendo ser descrito por diferentes representações, como linguagem natural estruturada, pseudocódigo ou fluxogramas.
II.Fluxogramas utilizam símbolos gráficos padronizados para representar operações, decisões e fluxos de controle, permitindo visualizar a lógica de execução de um processo antes ou durante sua implementação em código.
III.O processo de depuração envolve a análise do comportamento de um programa ou algoritmo com o objetivo de localizar e corrigir falhas lógicas ou erros de implementação que afetam o resultado esperado.
IV.Em algoritmos estruturados, estruturas de decisão e repetição são utilizadas para controlar o fluxo de execução, permitindo que determinadas instruções sejam executadas de acordo com condições previamente avaliadas.
V.A etapa de depuração consiste apenas na tradução direta do algoritmo para uma linguagem de programação específica, sem envolver análise do comportamento do programa durante sua execução.
Com base nas afirmativas apresentadas, assinale a alternativa CORRETA:
Analise as afirmativas a seguir com base em suas propriedades formais de complexidade, estabilidade e uso de memória na implementação tradicional apresentada na literatura clássica.
I. O Insertion Sort possui complexidade de tempo O(n²) no pior caso e pode apresentar complexidade O(n) no melhor caso, quando o vetor já se encontra ordenado.
II. O Merge Sort apresenta complexidade O(n log n) nos casos melhor, médio e pior, é estável e, em sua implementação tradicional, requer espaço adicional proporcional a O(n).
III. O Quick Sort apresenta complexidade média O(n log n) e pior caso O(n²), podendo este ocorrer quando o pivô escolhido produz partições altamente desbalanceadas.
IV. O Selection Sort possui complexidade O(n²) nos casos melhor, médio e pior e, em sua implementação tradicional, não é considerado um algoritmo estável.
Assinale a alternativa CORRETA:
Grafos caracterizam uma das estruturas de dados mais poderosas da computação, sendo empregados em diversos processos de negócio. Acerca do tema, analise as sentenças a seguir:
I- Em grafos não ponderados, uma busca em largura iniciada em um vértice de origem é adequada para determinar um caminho com o menor número de arestas para cada vértice alcançável.
PORQUE
II- A BFS explora os vértices em camadas de distância crescente a partir da origem, utilizando uma estrutura do tipo fila para processar primeiro os vértices descobertos mais cedo.
Analisadas as sentenças, assinale a alternativa CORRETA:
Estruturas de dados são importantes na construção de sistemas computacionais. Conforme o tema, analise as sentenças a seguir:
I- Em uma implementação de pilha baseada em vetor, a operação de remoção do elemento do topo exige, necessariamente, o deslocamento de todos os demais elementos para preservar a disciplina LIFO.
PORQUE
II- Na pilha, o elemento removido é o último que foi inserido, razão pela qual a operação de remoção deve ocorrer sobre a extremidade lógica denominada topo.
Analisadas as sentenças, assinale a alternativa CORRETA:
Assinale a alternativa que completa corretamente as lacunas abaixo.
Na unidade de ponto flutuante, a operação para colocar um
valor na pilha é chamada __________ , sendo equivalente à
instrução __________.
Uma equipe de desenvolvimento está revisando trechos de código de um sistema interno responsável pelo controle de requisições administrativas. Durante a análise técnica, foram discutidos aspectos relacionados à construção de algoritmos, estrutura de decisão, repetição, modularização e análise de complexidade.
Com base em fundamentos de desenvolvimento de sistemas e lógica de programação, analise as assertivas a seguir e assinale V (verdadeiro) ou F (falso):
(__) Um algoritmo pode ser descrito em linguagem natural estruturada, pseudocódigo ou fluxograma, desde que represente uma sequência finita e ordenada de passos para resolução de um problema.
(__) A utilização de estruturas de repetição, como "para" ou "enquanto", elimina a necessidade de estruturas condicionais dentro do mesmo bloco lógico.
(__) A modularização de um sistema tende a favorecer manutenção e reutilização de código, especialmente quando há definição clara de responsabilidades entre funções ou métodos.
(__) Um algoritmo cuja complexidade de tempo é O(n²), quando o número de operações executadas cresce proporcionalmente a n2, necessariamente apresentará desempenho inadequado para qualquer volume de dados.
(__) Na lógica de programação, variáveis são utilizadas para armazenar valores que podem ser modificados durante a execução do algoritmo.
(__) A validação de entradas de dados contribui para reduzir falhas decorrentes de estados inesperados no fluxo de execução.
Assinale a alternativa que possui a sequência correta de V (verdadeiro) e F (falso) de cima para baixo:
Durante a modernização de um sistema interno de protocolo eletrônico, a equipe técnica avaliou diferentes estruturas de dados para atender a requisitos específicos: controle de requisições em ordem de chegada, armazenamento dinâmico de registros, pesquisa eficiente por chave identificadora e organização hierárquica de setores administrativos. Considerando conceitos clássicos de estruturas de dados, analise as afirmativas a seguir:
I. Tabelas hash garantem tempo constante de busca independentemente da função de dispersão adotada e da ocorrência de colisões.
II. Filas implementam política do tipo FIFO (First In, First Out), sendo adequadas para controle de processamento em ordem cronológica de chegada.
III. Listas encadeadas permitem inserções e remoções sem necessidade de deslocamento físico de elementos subsequentes, diferentemente do que ocorre em arranjos estáticos.
IV. Árvores binárias de busca mantêm ordenação baseada em relação entre chave do nó e seus descendentes, o que pode favorecer operações de busca quando a estrutura está balanceada.
V. Pilhas são estruturas apropriadas para modelar chamadas recursivas, pois operam segundo disciplina LIFO (Last In, First Out).
Assinale a alternativa CORRETA.

À luz da estrutura de dados quadtree e considerando a matriz de valores inteiros apresentada, assinale a opção correta.