Buscar

Avaliação On5 TOPICOS INTEGRADORES 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Avaliação On-Line 5 (AOL 5) - Questionário
Parte superior do formulário
Parte inferior do formulário
Conteúdo do teste
1. 
Parte superior do formulário
Pergunta 1
1 ponto
A pesquisa de dados é um tópico da estrutura de dados que envolve o estudo dos algoritmos para sequências numéricas, seja ordenada ou desordenada, em ordem crescente ou decrescente. Neste aspecto surge, dentro da pesquisa de dados, uma ferramenta chamada análise assintótica, que recebe um algoritmo e, pelas próprias instruções, nos fornece uma fórmula matemática para analisar graficamente o comportamento deste algoritmo, em seu pior caso, no computador.
Com base nessas informações e no conteúdo estudado, podemos dizer que o melhor algoritmo em pesquisa de dados, de acordo com sua fórmula, é:
1. 
O(1).
2. 
O(N).
3. 
O(N/2).
4. 
O(N^2).
5. 
O(N^3).
Parte inferior do formulário
2. 
Parte superior do formulário
Pergunta 2
1 ponto
Uma das formas de navegar no grafo é através da lista de adjacência, que possui dois atributos: o vértice e a lista de vizinhos. Em vez de armazenar as arestas, armazena os vizinhos. Uma das vantagens da lista de adjacência é que ela não utiliza uma matriz como base e, portanto, pode ter tamanho indefinido.
Analise a situação a seguir:
public ArrayList buscarVizinhos (Vertice noaux)
{
return
new ArrayList <> (arestas [noaux.getIndice () ]);
}
No código-fonte acima, há uma criação estática, ou seja, com quantidades fixas de vértices. Foi utilizado um vetor de arestas para poder alocar os vizinhos.
Com base nessas informações e no conteúdo estudado, podemos dizer que o comando utilizado para buscar o vizinho de um nó é:
1. 
buscarVizinhos (1); 
2. 
buscarVizinhos (new Aresta (1));
3. 
buscarVizinhos (new Grafo (1));
4. 
buscarVizinhos (new int [1] [1]); 
5. 
buscarVizinhos (new Vertice ("A",1)); 
Parte inferior do formulário
3. 
Parte superior do formulário
Pergunta 3
1 ponto
A busca binária, é uma busca que tem por objetivo receber uma estrutura ordenada e fazer uma comparação parcial do dado que é tratado com o tamanho da metade da sua estrutura, caso o dado seja maior que a metade da estrutura o algoritmo faz um loop na segunda metade da estrutura, caso seja menor faz um loop na metade da estrutura, esse formato elimina de um total de valores praticamente metade de comparações, tendo como tamanho O(n/2), pois independente de ter o dado ou não na estrutura somente vai percorrer uma metade.
Agora, leia o código-fonte a seguir:
public static boolean buscaBinaria(int[] vetor, int pesquisar) {
  if ( … ) {
    for (int pos = 0; pos < vetor.length; pos++) {
      if (pesquisar == vetor[pos]) {
        System.out.println("Localizado");
        return true;
        }
      }
    } else {
    for (int pos = vetor.length; pos > 0; pos--) {
    if (pesquisar == vetor[pos]) {
      System.out.println("Localizado");
      return true;
      }
    }
  }
  return false;
}
Considerando essas informações e o conteúdo estudado, a alternativa que corresponde ao comando IF do código acima é:
1. 
pesquisar == vetor[(int) (vetor.length / 2)].
2. 
pesquisar >= vetor[(int) (vetor.length)].
3. 
pesquisar <= vetor[(int) (vetor.length)].
4. 
pesquisar != vetor[(int) (vetor.length)].
5. 
pesquisar >= vetor[(int) (vetor.length / 2)].
Parte inferior do formulário
4. 
Parte superior do formulário
Pergunta 4
1 ponto
Uma ArrayList é uma estrutura da Api Collection que trabalha com alocação dinâmica, possui aplicação em diversas situações e regras de negócio. No caso dos grafos, sua aplicação pode se dar na representação da lista de adjacência. A lista de adjacência é um formato de representação de grafo, que recebe do grafo um nó e as ligações (ou vizinho) de um nó e os aloca. Quando se trata da alocação de vizinhos, que pode ser fixa ou variável, a lista encadeada ou uma estrutura dinâmica é necessária para poder alocar os vizinhos de um nó.
Com base nessas informações e no conteúdo estudado, podemos dizer que o comando usado para adicionar os vizinhos em uma lista de adjacência é:
1. 
setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Array("B",1)}))); 
2. 
setAresta (0, new Vertice <> ({new Vertice ("B",1)})); 
3. 
setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Vertice ("B",1)}))); 
4. 
setAresta (0, new ArrayList <> (Arrays.asList (new Vertice []{new Vertice ("B",1)}))); 
5. 
setAresta (0,1); 
Parte inferior do formulário
5. 
Parte superior do formulário
Pergunta 5
1 ponto
O HashMap é uma estrutura hash diferenciada, pois nela você é obrigado a setar o valor junto com sua posição de memória, no entanto ao instanciar um hashmap, deve-se passar via parâtro da declaração a tipagem do índice e a tipagem do valor, no caso do exemplo abaixo, o índice é integer e o dado também, podendo assumir diversos tipos inclusive um objeto tanto como índice como quanto valor. Por conta da particularidade da inserção do índice junto com o valor a add, no hashmap não é usado e sim o put(indice,valor) para poder alocar, e o uso do constains é diferenciado pois pode-se buscar tanto por chave usando a containsKey quanto por valor containsValue.Por este motivo o hashmap é democrático pois você pode criar as posições que desejar e assim trazer mais agilidade ao programa caso necessite
Analise a situação a seguir:
import java.util.HashMap;
import java.util.Map;
public class Prj_HashMap  {
  public static void main(String args[])
  {
    Map<Integer,Integer> mapa=new HashMap<Integer,Integer>();
    mapa.put(1, 100);
    mapa.put(2, 200);
    System.out.println("remover:"+mapa.remove(2));
    System.out.println("contains por chave:"+ mapa.get(1));
    System.out.println("contains por chave:"+ mapa.containsKey(1));
    System.out.println("contains por valor:"+ mapa.containsValue(100));
    for(Integer aux: mapa.keySet() )
    {
    System.out.println(aux + "-" + aux.hashCode() + "-"+ mapa.get(aux) );
    }
  }
 }
Com base nessas informações e no conteúdo estudado, analise as afirmativas a seguir e identifique qual dela(s) corresponde(m) ao padrão iterator na navegação da estrutura Mapa.
I. Integer aux: mapa.keySet()
II. new HashMap<Integer,Integer>();.
III. mapa.
IV. mapa.get(aux).
V. mapa.getClass().
Está correto apenas o que se afirma em:
1. 
III e IV.
2. 
II e I.
3. 
I e IV.
4. 
IV e II.
5. 
V e III.
Parte inferior do formulário
6. 
Parte superior do formulário
Pergunta 6
1 ponto
As arestas são a principal forma de manipular e modelar o grafo e, dependendo da aresta, até de classificá-lo como um todo. É um modelo que foca mais nas ligações do que nos dados em si. Em resumo, a aresta é a ligação dos vértices ou nós que, em conjunto, formam um caminho e uma estrutura organizada sem topologia ou ordem de dados.
Sobre o formato A -> B, B <- C, e D - A, pode-se afirmar que:
1. 
A, B e C são orientadas ponderadas, enquanto D com A são orientadas. 
2. 
A, C e D não são orientadas, enquanto B com A são orientadas.
3. 
A, C e D são orientadas, enquanto B com A não são orientadas.
4. 
A, B e C não são orientadas, enquanto D com A são orientadas.
5. 
A, B e C são orientadas, enquanto D com A não são orientadas.
Parte inferior do formulário
7. 
Parte superior do formulário
Pergunta 7
1 ponto
A estrutura hash possui um dos melhores desempenhos dentro de uma grande estrutura de dados, pois sua notação de big O(1) é uma constante. Ou seja, para N dados, temos apenas um conjunto de instruções a se buscar. Porém, com a grande quantidade de dados, surge o problema da colisão, quando dados diferentes assumem o mesmo valor de hash. Existem formas de trabalhar o hashing para que isso não ocorra, porém, é preciso usar uma outra estrutura de dados para poder considerar um hash repetido de dados distintos. Uma das estruturas possíveis é a linkedlist, que faz a alocação do dado repetido ou aproximado dentro de um mesmo hash.
Com base nessas informações e no conteúdo estudado, podemos dizer que a técnica utilizada para a colisão é:
1. 
o load factor.
2. 
o new LinkedList.
3. 
o linear probing.
4. 
o rerash.
5. 
o encadeamento separado.
Parte inferiordo formulário
8. 
Parte superior do formulário
Pergunta 8
1 ponto
A função hash tem como objetivo tratar os dados como posição de memória. Sendo assim, um dado que não tenha comparações, possuirá apenas uma operação para busca em N dados. Essa função é muito utilizada em dicionários de palavras e outras coisas que precisam analisar muitos dados. Ao utilizar o hash na linguagem Java, cada variável ou objeto possuirá uma posição específica, pois essa numeração surge dos cálculos da JVM (Java Virtual Machine).
Com base nessas informações e no conteúdo estudado, podemos dizer que a função para pegar o valor hash de um Objeto Pilha com a tipagem Integer da classe Stack é:
1. 
new Stack<Integer>.hashCode();
2. 
new Stack<Integer>().toHash();
3. 
new Stack<Integer>().toHashCode();
4. 
new Stack<Integer>().hashCode();
5. 
new Stack().hashCode();
Parte inferior do formulário
9. 
Parte superior do formulário
Pergunta 9
1 ponto
Uma das principais aplicações de grafos em um problema de logística é achar o menor caminho para várias entregas. No caso, cada ponto de entrega seria um vértice e cada rua, avenida ou caminho, seriam as arestas. Por ser um problema recorrente em grafos, existem diversos algoritmos para isso. Um deles se destaca por ser um dos mais simples para resolver este problema. Trata-se da árvore geradora mínima ou MST (Minimum Spanning Tree), que percorre os vizinhos até o fim e verifica se algum deles possui uma conectividade com os nós do grafo.
Com base nessas informações e no conteúdo estudado, podemos dizer que o algoritmo usado no MST como forma de criar uma árvore geradora mínima é:
1. 
BFS ou busca por largura.
2. 
DFS ou busca por profundidade.
3. 
matriz de incidência.
4. 
matriz de adjacência.
5. 
lista de adjacência.
Parte inferior do formulário
10. 
Parte superior do formulário
Pergunta 10
1 ponto
A busca por profundidade no grafo é uma das principais que podem ser executadas. Ela necessita da matriz de adjacência para poder percorrer os vértices. A busca por profundidade é conhecida por percorrer até o último vizinho de um vértice por vez, ou seja, percorre todo o caminho até o final de um vizinho, vai para o próximo e segue até o fim.
Analise a situação a seguir:
BQ04 - Tópicos Integradores II(ADS) - Questão 8.PNG
Com base nessas informações e no conteúdo estudado, podemos dizer que o comando que retorna o resultado da busca DFS em A é:
1. 
B-E-D
2. 
B-C-E 
3. 
B-D-E 
4. 
E-C-D
5. NNN
B-C-D 
Parte inferior do formulário

Outros materiais