Questões de Algoritmos e Estrutura de Dados - Estrutura de Dados para Concurso
Foram encontradas 1.370 questões
I. A complexidade da busca, inserção e remoção em uma árvore binária de busca desbalanceada no pior caso é O(n), mas, em uma árvore AVL, essas operações sempre têm complexidade O(log n) no pior caso;
II. Em uma árvore AVL, a rotação simples e a rotação dupla são operações fundamentais para manter a árvore balanceada após inserções e remoções, mas essas rotações podem fazer com que o tempo de execução de uma inserção ou remoção se degrade para O(n) em casos específicos;
III. Árvores B são ideais para sistemas de banco de dados porque permitem que várias operações de busca, inserção e remoção sejam realizadas em tempo O(log n), com a vantagem adicional de minimizar o número de acessos a disco devido à estrutura de nós de múltiplas chaves;
IV. Em uma árvore B+, ao contrário de uma árvore B, todas as chaves estão armazenadas apenas nos nós folha, o que significa que as buscas por chaves sempre resultam em acessos aos nós folha. Embora isso possa tornar a busca ligeiramente menos eficiente em comparação com uma árvore B, na qual a busca pode ser resolvida em um nó interno, a árvore B+ oferece outras vantagens, como uma estrutura mais simples e suporte eficiente para operações de intervalo e varreduras de dados;
V. Apesar de as árvores B e B+ serem amplamente usadas em bancos de dados, uma desvantagem das árvores B+ em relação às árvores B é que a estrutura de encadeamento entre os nós folha pode aumentar significativamente o tempo de execução das operações de inserção e remoção, devido à necessidade de reorganização frequente dos nós folha.
Assinale a opção CORRETA:
( ) Em uma lista encadeada simples, a inserção de um novo elemento no final da lista sempre requer tempo constante O(1).
( ) Em uma pilha, a operação de remoção de um elemento segue o princípio FIFO (First In, First Out).
( ) Em uma fila, a operação de inserção e remoção de elementos pode ser realizada em qualquer posição da estrutura, desde que seja mantida a ordenação.
( ) Em uma lista ordenada, a inserção de um novo elemento sempre ocorre em tempo O(1), independentemente de sua posição.
( ) Em uma fila, a operação de inserção ocorre no final da estrutura, enquanto a remoção ocorre no início, seguindo o princípio FIFO.
I. A Programação Dinâmica resolve problemas complexos dividindo-os em subproblemas mais simples e solucionando esses subproblemas uma única vez, armazenando suas soluções.
II. O princípio da otimalidade de Bellman estabelece que uma solução ótima de um problema de PD pode ser obtida resolvendo-se subproblemas ótimos recursivamente.
III. A Programação Dinâmica só pode ser aplicada a problemas que envolvem decisões discretas.
IV. Em PD, a função de valor (ou função objetivo) é construída de forma recursiva, baseandose em estados e decisões anteriores.
Quais afirmativas estão CORRETAS?
Em aprendizado de máquina, especialmente em algoritmos de árvores de decisão, é fundamental avaliar como os dados são organizados e classificados em diferentes níveis da árvore. Três conceitos-chave que auxiliam na construção e otimização dessas árvores são o gini impurity, a entropy e o information gain. A respeito desses conceitos, julgue os itens a seguir.
I Gini impurity mede a redução da entropy após a divisão de um conjunto de dados com base em um atributo.
II Entropy mede a quantidade de incerteza ou impureza no conjunto de dados.
III Information gain mede a probabilidade de uma nova instância ser classificada incorretamente, com base na distribuição de classes no conjunto de dados.
Assinale a opção correta.
VAR1:= 7; VAR2:=8; VAR3:=9;
VAR4:=POP;
PUSH(VAR1);
PUSH(VAR2);
VAR1:=POP;
VAR2:=POP;
PUSH(VAR3);
PUSH(VAR1);
PUSH(VAR2);
PUSH(VAR4);
Assim, em quanto resulta o conteúdo da pilha?
Que sequência obteremos, se executarmos o percurso em pós-ordem?
Nessa situação hipotética, a empresa possui dados do tipo
Diversas estruturas de dados, tais como árvores, pilhas, tabelas e filas, têm-se tornado comuns no universo dos programadores, e seu conhecimento se mostra fundamental em muitas áreas da computação, para os mais diferentes propósitos. Considerando as características das principais estruturas de dados conhecidas, assinale a opção correta.
I. Em uma lista não ordenada, os elementos devem estar organizados em ordem decrescente das respectivas chaves.
II. Uma lista encadeada é uma estrutura de dados, na qual os objetos estão organizados em ordem linear.
III. Em uma lista duplamente encadeada, cada elemento deve apontar para o elemento anterior e para o próximo.
Está correto o que se afirma em
I. Na fase de marcar (mark), o coletor percorre o grafo de objetos e marca todos aqueles que são alcançáveis.
II. Na fase de varrer (sweep), a memória ocupada pelos objetos marcados (na fase de marcação) é liberada.
III. Os objetos marcados (na fase de marcação) são realocados.
Está correto o que se afirma em
Relacione os métodos de agrupamento hierárquico e o K-means às suas principais características.
1. Agrupamento Hierárquico 2. K-means
( ) Seus resultados são altamente sensíveis ao número de clusters que deve ser pré-definido pelo usuário do algoritmo.
( ) Baseia-se em abordagens top-down ou bottom-up, isto é, com a divisão ou com a união sucessiva de clusters.
( ) Seus resultados costumam ser graficamente visualizados por dendrogramas, que podem ser seccionados de acordo com o número de clusters determinado pelo usuário do algoritmo.
( ) Avalia distâncias entre as instâncias de dados e os centroides dos clusters e atualiza a posição dos centroides dos clusters sucessivamente, até a convergência.
Assinale a opção que indica a relação correta, na ordem apresentada.
Com relação à análise de componentes principais, analise as afirmativas a seguir e assinale (V) para a verdadeiras e (F) para a falsa.
( ) Baseia-se na identificação dos autovetores da matriz de covariâncias dos dados, permitindo ao analista determinar direções de maiores variações nas instâncias de dados.
( ) Permite a seleção e a eliminação das dimensões referentes às direções de maiores variações nas instâncias de dados, que por sua vez contribuem com poucas informações úteis para a análise do conjunto de dados.
( ) É utilizada em compressão de dados, pois permite a representação dos dados em menos dimensões que são facilmente interpretáveis pelo analista, sem grandes perdas de informações.
As afirmativas são, respectivamente.
Considere o algoritmo a seguir, apresentado na forma de uma pseudolinguagem e que implementa uma certa funcionalidade, para responder às questões de números 50 e 51.
Início
- as [
- asd Tipo TM = matriz[1..4, 1..4] de inteiros;
- asdas Inteiro: c, i, j, k;
- asda TM: Mat;
- asdas c ← 1;
- asdasd Para i de 1 até 4 faça
- asd[
- as Se (c é ímpar)
- asd[
- asas Então
- asd[ c ← c + 3*i;
- asd Para j de 1 até 4 faça
- ad[
- asdMat[i,j] ← i + j + c;
- a]
- ,]
- asas Senão
- ,[
- asasddc ← c + 2*i + 1
- asdasd; Para k de 1 até 4 faça
- [
- asdasdiiaMat[i,k] ← i + k - c;
- aaaad]
- aasa]
- aaa]
- ii,,]
- ,]
- Fim.
Considere a seguinte estrutura de dados do tipo pilha.
Considerando as operações usuais de empilhamento (PUSH) e desempilhamento (POP), com suas funcionalidades padrão, foram realizadas as seguintes operações, expressas na forma de uma pseudolinguagem:
X ← 10;
Y ← 20;
POP(Y);
PUSH(X);
POP(Y);
PUSH(Y);
PUSH(X);
Após a execução dessa sequência de operações, o novo conteúdo da pilha será, da base para o topo:
Considere o algoritmo a seguir, apresentado na forma de uma pseudolinguagem e que implementa uma certa funcionalidade, para responder às questões de números 50 e 51.
Início
- as [
- asd Tipo TM = matriz[1..4, 1..4] de inteiros;
- asdas Inteiro: c, i, j, k;
- asda TM: Mat;
- asdas c ← 1;
- asdasd Para i de 1 até 4 faça
- asd[
- as Se (c é ímpar)
- asd[
- asas Então
- asd[ c ← c + 3*i;
- asd Para j de 1 até 4 faça
- ad[
- asdMat[i,j] ← i + j + c;
- a]
- ,]
- asas Senão
- ,[
- asasddc ← c + 2*i + 1
- asdasd; Para k de 1 até 4 faça
- [
- asdasdiiaMat[i,k] ← i + k - c;
- aaaad]
- aasa]
- aaa]
- ii,,]
- ,]
- Fim.
Considere a seguinte estrutura de dados do tipo árvore.
Trata-se de uma árvore