Questões de Concurso
Sobre estrutura de dados em algoritmos e estrutura de dados
Foram encontradas 1.673 questões
(__)Em pseudocódigo, estruturas de seleção permitem a execução condicional de blocos de instruções distintos, conforme o resultado de uma expressão lógica avaliada durante a execução do algoritmo.
(__)Fluxogramas utilizam símbolos padronizados para representar decisões, entradas, saídas e processamento, facilitando a visualização do fluxo lógico, ainda que não substituam integralmente a descrição textual do algoritmo.
(__)Estruturas de repetição possibilitam a execução contínua de um conjunto de instruções enquanto uma condição permanecer verdadeira, sendo geralmente empregadas quando o número de iterações não é previamente conhecido.
(__)Vetores e matrizes são estruturas equivalentes quanto à organização lógica dos dados, diferenciando-se apenas pela quantidade de elementos armazenados, sem impacto na forma de acesso ou indexação.
(__)Registros permitem agrupar dados de naturezas diferentes sob um mesmo identificador, o que favorece a organização de informações relacionadas em um algoritmo.
(__)Procedimentos e funções têm como principal diferença o fato de que apenas as funções podem devolver valores ao algoritmo chamador, enquanto procedimentos executam ações sem retorno direto.
Assinale a alternativa que mostra corretamente a sequência de V(verdadeiro) e F (falso) de cima para baixo:
Uma livraria precisa gerenciar seu catálogo digital onde novos títulos são constantemente adicionados e livros esgotados são removidos. É essencial que as operações de inserção, remoção e busca por títulos sejam rápidas (idealmente em tempo logarítmico) para não impactar as vendas. O sistema deve manter os livros sempre em ordem alfabética.
Nesse contexto, qual estrutura de dados é mais adequada para atender a esses requisitos de um catálogo dinâmico e ordenado?
Ao optar pelo uso do código de Huffman, o número médio de bits/símbolo será de
No que concerne a árvores rubro-negras, assinale a opção correta.
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 é:
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:
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:
Assinale a alternativa que completa a lacuna no texto acima:
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:
ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.
O conjunto básico de operações de uma fila é:
• criar (): cria uma fila vazia; • enfileirar (f, x): enfileira o item x no final da fila f; • desenfileirar (f): desenfileira o item do início da fila f e o retorna; • inicio(f): retorna o item do início da fila f, sem retirá-lo.
Considere a seguinte sequência de operações sobre uma fila f vazia: enfileirar(f, 4); enfileirar(f, 7); enfileirar(f, 2); desenfileirar(f); enfileirar(f, 9); inicio(f); desenfileirar(f); enfileirar(f, 5); enfileirar(f, 6); desenfileirar(f); enfileirar(f, inicio(f)).
Assinale a alternativa que representa CORRETAMENTE o conteúdo fila, do início para o final, após a execução de todas as operações acima:
Considerando o código acima, a variável que representa o valor MINMAX é:
Com base na análise desses modelos, qual modelo matemático é adequado para explicar o cálculo da melhor rota em um sistema de geolocalização com foco na rapidez de deslocamento?