Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROVA ONLINE – ESTRUTURA DE DADOS QUESTÃO 1 A respeito dos conceitos de profundidade e altura, assinale a alternativa correta. a ) A altura da árvore é definida pela altura da folha mais distante da raiz. b ) Dois nós de mesmo nível, isto é, filhos de um mesmo nó pai terão exatamente a mesma altura. c ) Os conceitos de profundidade e altura não podem ser aplicados a árvores binárias de busca. d ) A raiz de uma árvore tem profundidade zero. e ) A altura de um nó considera o menor caminho possível entre ele e a sua folha. Ver justificativa da resposta QUESTÃO 2 Sobre as funções hash, marque a alternativa correta. a ) Caso a função seja perfeitamente distribuída, não haverá colisões na tabela hash, garantindo máxima eficiência. b ) Deve utilizar os campos presentes no método equals, podendo utilizar menos campos, mas não mais. c ) A função hashcode deve gerar somente números positivos, pois não há índices negativos em um vetor, que não poderiam ser acessados. javascript:; d ) Uma estratégia possível para uma boa função hash é utilizar números aleatórios, aumentando assim a distribuição do resultado. e ) Para melhorar a distribuição, é importante que objetos de instâncias diferentes, mas considerados iguais, retornem códigos hash diferentes. Ver justificativa da resposta QUESTÃO 3 Sobre objetos, valores e referências, marque a alternativa correta. a ) Ao final do programa a seguir, o valor de b é null: String a = "Vinicius"; String b = a; a = null; b ) A variável a é do tipo inteiro e a variável b é de uma classe cujo único atributo é de um número inteiro. Então, as variáveis a e b ocupam a mesma quantidade em memória. c ) Se um programa tiver as variáveis a e b, de uma classe qualquer, a atribuição a = b fará com que os dados de b sejam copiados na variável a. d ) Quando uma variável local de um objeto é criada, sua referência é criada na memória stack e os dados do objeto, na memória heap. e ) No Java, não existe passagem de parâmetros por referência, já que as variáveis de referência são copiadas. Ver justificativa da resposta QUESTÃO 4 A respeito do processo de remoção de elementos, assinale a alternativa correta. a ) javascript:; javascript:; Tanto para nós folhas quanto para nós com um ou dois filhos, é importante fazer um tratamento especial diferenciado para o nó raiz. b ) Caso o nó sendo excluído possua um único filho, esse filho se manterá do mesmo lado do pai do nó que está sendo excluído. c ) Em uma exclusão com dois filhos, devemos achar o sucessor do nó sendo excluído, que se trata do nó localizado imediatamente à direita. d ) Em uma exclusão com dois filhos, movimentamos o nó do sucessor para a posição do nó sendo excluído, evitando copiar os valores presentes no par. e ) A exclusão de um nó folha consiste no caso mais complexo, uma vez que deveremos tratar a nulidade dos nós esquerdo e direito. Ver justificativa da resposta QUESTÃO 5 Sobre a memória heap, selecione a alternativa correta. a ) O sistema operacional fornece o garbage collector, pois ele é um sub-componente da memória heap. b ) A desalocação da memória heap deve ser feita manualmente pelo programador, por meio de um comando como free ou delete. c ) Como a memória heap representa toda a RAM, há poucas chances de a informação ficar dispersa ao utilizá-la. d ) A memória heap, por ser mais abundante, é consideravelmente mais organizada do que a pilha (stack). e ) javascript:; Alocações e desalocação na memória heap são rápidas, quando comparamos com as da pilha (stack). Ver justificativa da resposta QUESTÃO 6 A respeito do processo de busca binária, assinale a alternativa correta. a ) O algoritmo é mais eficiente para listas encadeadas, visto que os nós podem ser acessados individualmente. b ) Escolhe-se o elemento central da lista. Como a lista está ordenada, o elemento desejado só poderá estar à esquerda ou à direita dele, se não for ele mesmo. c ) Caso um elemento não seja encontrado, o marcador fim estará no ponto em que a inserção deve ser realizada. d ) Seu tempo de execução é linear, ou seja, caso o número de elementos da lista dobre, o número de comparações também dobrará. e ) Uma das desvantagens desse processo é que ele só pode ser utilizado em listas com dados numéricos em ordenação ascendente. Ver justificativa da resposta QUESTÃO 7 Sobre as estruturas mapa e conjunto, assinale a alternativa correta. a ) É possível adicionar várias vezes o valor nulo dentro dos conjuntos, pois ele representa a ausência de um objeto. b ) O método getTamanho do mapa retornará o dobro do valor do mesmo método nos conjuntos, já as entradas contêm dois valores. c ) javascript:; javascript:; É possível acessar um elemento de um conjunto por índice, uma vez que cada elemento é uma chave. d ) Os conjuntos representam coleções de objetos sem repetição, contendo uma interface muito mais simples que a dos mapas. e ) Como conjuntos são implementados por meio de mapas, sua interface também não poderá herdar de Colecao. Ver justificativa da resposta QUESTÃO 8 Sobre os conceitos de referência e valor, assinale a alternativa correta. a ) Um vetor de tipos primitivos irá alocar todos os seus valores na pilha. b ) As variáveis locais trabalham por cópia e, por isso, são criadas no heap. c ) Um dos problemas das referências é que as atribuições possuem custo por gerarem cópias dos dados. d ) Uma classe contendo um campo idade (inteiro), um campo nome (String) e um vetor contém 1 tipo primitivo e 2 referências. e ) Um vetor de objetos em Java irá alocar a memória para todos os objetos de maneira contínua. javascript:;
Compartilhar