Questões de Concurso Sobre algoritmos e estrutura de dados
Foram encontradas 3.832 questões
O trecho de pseudocódigo abaixo foi utilizado por um profissional para testar o comportamento de estruturas de repetição:

Após três iterações completas, qual será o valor exibido?
I. As pilhas (stacks) operam segundo o princípio LIFO, permitindo inserções e remoções no topo com excelente desempenho, sendo úteis em chamadas de função.
II. Árvores binárias de busca garantem tempo constante O(1) para inserção e busca em qualquer cenário, independentemente da ordem de inserção dos dados.
III. Filas (queues) seguem o princípio FIFO, sendo amplamente utilizadas em sistemas de agendamento, buffers e comunicação assíncrona.
A sequência correta é:
Qual das habilidades a seguir integra o raciocínio computacional?
Qual elemento é essencial na construção de um algoritmo eficiente?
Sobre técnicas de indexação utilizando hashing, assinale a opção correta.
Assuma que existam as seguintes operações para manipulação da pilha:
Push a: empilha o valor da variável a na pilha, preservando o valor original de a.
Pop a: retira o valor do topo da pilha e o armazena na variável a.
Considerando o funcionamento típico de uma pilha e as variáveis x, y e z, a seguinte sequência de operações foi realizada em um programa:
x ← 5 y ← 4 Push x Push y Pop x Pop y x ← x – 2 y ← y – 1 Pop z Pop z Push x Push y
Dessa forma, é correto afirmar que a pilha passará a conter os seguintes valores armazenados (ordenados de cima para baixo) após a execução desse programa:
Supondo-se que os valores lidos para as variáveis a1 e a2 tenham sido 1 e 2, respectivamente, ao final da execução desse algoritmo, a variável Z irá conter o valor
I.A busca por um elemento em uma árvore binária de busca (BST) perfeitamente balanceada possui complexidade de tempo no pior caso de O(logn), enquanto a busca em uma tabela de hash (hash table) com uma função de hash ideal e sem colisões possui complexidade de tempo de O(1).
II.Uma lista duplamente encadeada oferece vantagem sobre uma lista simplesmente encadeada por permitir a inserção e remoção de elementos em tempo constante, O(1), em qualquer posição da lista, desde que o ponteiro para o nó seja conhecido.
III.A estrutura de dados mais eficiente para implementar um sistema que necessita processar tarefas com base em diferentes níveis de urgência, garantindo que a tarefa de maior urgência seja sempre processada primeiro, é uma fila de prioridade (priority queue), frequentemente implementada com um heap.
Está correto o que se afirma em:
Considere o algoritmo abaixo, em Python, que busca o menor elemento de uma lista e remove-o repetidamente, formando uma nova lista ordenada:

Esse algoritmo, apesar de funcional, apresenta baixa eficiência. A complexidade de tempo resultante é:
Assinale a alternativa que completa a lacuna no texto acima:
Analise as seguintes proposições sobre métodos de ordenação:
I - A ordenação por seleção (Selection Sort) realiza sempre a mesma quantidade de comparações, independentemente de o conjunto estar previamente ordenado ou não.
II – A ordenação por inserção (Insertion Sort) é o método adequado quando o vetor está quase ordenado.
III – A ordenação por borbulhamento (Bubble Sort) é um método em que, quando o vetor já encontra-se ordenado, nenhuma comparação ou movimentação ocorre.
IV – A ordenação por inserção (Insertion Sort) é estável, isto é, ela preserva a ordem relativa dos itens com chaves iguais.
Assinale a alternativa CORRETA:
Adaptado de ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.
Uma Árvore de Busca Binária (ABB) é um caso especial de uma árvore binária, em que, para cada nó, a seguinte propriedade é verdadeira: todos os registros com chaves menores do que a chave deste nó estão em sua subárvore esquerda e todos os registros com chaves maiores estão em sua subárvore direita. O caminhamento em uma ABB é uma forma sistemática de “visitar” todos os nós dessa árvore. Há três métodos bem conhecidos para realizar esse caminhamento: 1) pré-ordem, 2) em-ordem e 3) pós-ordem.
Considere que os seguintes registros numéricos (50, 30, 70, 20, 40, 10, 35, 60, 80, 65, 5) foram inseridos em uma ABB inicialmente vazia, registro a registro, da esquerda para a direita.
O caminhamento pré-ordem irá processar os registros dessa árvore na seguinte ordem:
Considerando o código acima, a variável que representa o valor MINMAX é