O método da divisão é um tipo de função hash bastante empregado na construção de tabelas hash. Assuma que você tem disponível, para utilizar como palavras-chave, valores numéricos inteiros de 4 dígitos. Você decide que irá agrupar os dígitos em pares e somá-los para usar como palavra-chave. Por exemplo, o número 1234, será: 12 + 34 = 46. Assuma também que você tem um vetor de dimensão 100 (posições 0 até 99) disponível para armazenamento e que irá adotar o método da divisão. Assinale a alternativa INCORRETA: A A palavra-chave 0125 será inserida na posição 26. Porém, se alterarmos o tamanho do vetor para 110, a nova posição desta chave será 36. B A palavra-chave 4455, será inserida na última posição disponível do vetor.44+55 = 99 MOD 100 = 99. 99 é a ultima posição possível deste vetor. C A palavra-chave 9128, será inserida na posição 19 do vetor.91+28 = 119 MOD 100 = 19. D O maior valor possível representado com 4 dígitos será colocado na posição 98.O maior valor com 4 dígitos é 9999 = 99+99 = 198 MOD 100 = 98. E A palavra-chave 1873, será inserida na posição 91 do vetor.18+73 = 91 MOD 100 = 91.
Na AULA 6 estudamos endereçamento aberto de tabelas hash com tentativa linear e tentativa quadrática. Acerca da tentativa linear e da tentativa quadrática, assinale a alternativa INCORRETA: A Na tentativa linear, quando uma colisão ocorre, a próxima posição livre, subsequente, é acessada. B Na tentativa quadrática, quando uma colisão ocorre, a primeira posição a ser testada após a colisão é sempre a posição seguinte do vetor. C Na tentativa quadrática, quando uma colisão ocorre, a nova tentativa é feita em uma posição que está a uma distância d da posição originalmente testada. Onde d será sempre o dobro da posição originalmentetestada. D A função hash adotada independe do tipo de tentativa empregado (linear ou quadrática). E A tentativa quadrática tende a espalhar mais as chaves colididas na tabela hash.
Trabalhamos com diferentes tipos de endereçamento em uma tabela hash. Acerca dos tipos de endereçamento (direto, aberto e em cadeia), assinale a alternativa CORRETA: A O endereçamento aberto é mais empregado quando a quantidade de palavras-chaves é bastante grande se comparado com o tamanho da tabela hash. B No endereçamento aberto a tabela hash é construída com um vetor, que armazenará todas as chaves que não colidirem. C No endereçamento aberto, quando uma colisão ocorre, ela precisa ser tratada com algum algoritmo, como o de tentativa linear e a quadrática. D No endereçamento em cadeia não precisamos tratar colisões, pois cada nova chave pode ser anexada em uma lista encadeada que contém todas as chaves que colidiram. E As funções de hash aplicadas para endereçamento em cadeia são diferentes das aplicadas no endereçamento aberto.
Na AULA 5 estudamos grafos e seus algoritmos de busca. Acerca da busca em profundidade no grafo, assinale a alternativa INCORRETA. A A busca em profundidade trabalha com o uma pilha que mantém todos os vértices que ainda não tiveram todos os seus vizinhos visitados nela. B A busca em profundidade pode ser implementada com qualquer tipo de representação de grafos: matriz ou lista. C Uma variável mantém salvo todos os vértices já visitados, pois podemos passar somente uma vez por cada vértice. D Um vértice, quando visitado pela primeira vez, tem sua lista de vizinhos acessada imediatamente e seu número é colocado na pilha. E Um vértice sai da pilha quando o algoritmo pula para o próximo vizinho deste vértice.
A definição de uma boa função hash é fundamental para termos uma tabela hash com um bom desempenho. Acerca de funções hash, assinale a alternativa CORRETA: A Uma função hash apresenta sempre a mesma fórmula bem definida, e independe do tamanho do conjunto de dados, e dos tipos de dados-chave utilizados. B O uso de estrutura de tabela hash sempre apresentará um desempenho de busca superior ao endereçamento direito. C Uma função hash necessita inserir dados que minimizem o número de colisões, reduzindo também o tempo gasto resolvendo colisões e reavendo os dados. D A função hash que utiliza o método da divisão só pode ser aplicado para palavras-chave do tipo numérica. E O método da divisão utiliza o quociente da divisão de dois valores para encontrar a posição de uma palavra-chave.
O método da divisão é um tipo de função hash bastante empregado na construção de tabelas hash. Assuma que você tem disponível, para utilizar como palavras-chave, valores numéricos inteiros de 4 dígitos. Você decide que irá agrupar os dígitos em pares e somá-los para usar como palavra-chave. Por exemplo, o número 1234, será: 12 + 34 = 46. Assuma também que você tem um vetor de dimensão 100 (posições 0 até 99) disponível para armazenamento e que irá adotar o método da divisão. Assinale a alternativa INCORRETA: A A palavra-chave 0125 será inserida na posição 26. Porém, se alterarmos o tamanho do vetor para 110, a nova posição desta chave será 36. B A palavra-chave 4455, será inserida na última posição disponível do vetor.44+55 = 99 MOD 100 = 99. 99 é a ultima posição possível deste vetor. C A palavra-chave 9128, será inserida na posição 19 do vetor.91+28 = 119 MOD 100 = 19. D O maior valor possível representado com 4 dígitos será colocado na posição 98.O maior valor com 4 dígitos é 9999 = 99+99 = 198 MOD 100 = 98. E A palavra-chave 1873, será inserida na posição 91 do vetor.18+73 = 91 MOD 100 = 91.
Na AULA 6 estudamos endereçamento aberto de tabelas hash com tentativa linear e tentativa quadrática. Acerca da tentativa linear e da tentativa quadrática, assinale a alternativa INCORRETA: A Na tentativa linear, quando uma colisão ocorre, a próxima posição livre, subsequente, é acessada. B Na tentativa quadrática, quando uma colisão ocorre, a primeira posição a ser testada após a colisão é sempre a posição seguinte do vetor. C Na tentativa quadrática, quando uma colisão ocorre, a nova tentativa é feita em uma posição que está a uma distância d da posição originalmente testada. Onde d será sempre o dobro da posição originalmentetestada. D A função hash adotada independe do tipo de tentativa empregado (linear ou quadrática). E A tentativa quadrática tende a espalhar mais as chaves colididas na tabela hash.
Trabalhamos com diferentes tipos de endereçamento em uma tabela hash. Acerca dos tipos de endereçamento (direto, aberto e em cadeia), assinale a alternativa CORRETA: A O endereçamento aberto é mais empregado quando a quantidade de palavras-chaves é bastante grande se comparado com o tamanho da tabela hash. B No endereçamento aberto a tabela hash é construída com um vetor, que armazenará todas as chaves que não colidirem. C No endereçamento aberto, quando uma colisão ocorre, ela precisa ser tratada com algum algoritmo, como o de tentativa linear e a quadrática. D No endereçamento em cadeia não precisamos tratar colisões, pois cada nova chave pode ser anexada em uma lista encadeada que contém todas as chaves que colidiram. E As funções de hash aplicadas para endereçamento em cadeia são diferentes das aplicadas no endereçamento aberto.
Na AULA 5 estudamos grafos e seus algoritmos de busca. Acerca da busca em profundidade no grafo, assinale a alternativa INCORRETA. A A busca em profundidade trabalha com o uma pilha que mantém todos os vértices que ainda não tiveram todos os seus vizinhos visitados nela. B A busca em profundidade pode ser implementada com qualquer tipo de representação de grafos: matriz ou lista. C Uma variável mantém salvo todos os vértices já visitados, pois podemos passar somente uma vez por cada vértice. D Um vértice, quando visitado pela primeira vez, tem sua lista de vizinhos acessada imediatamente e seu número é colocado na pilha. E Um vértice sai da pilha quando o algoritmo pula para o próximo vizinho deste vértice.
A definição de uma boa função hash é fundamental para termos uma tabela hash com um bom desempenho. Acerca de funções hash, assinale a alternativa CORRETA: A Uma função hash apresenta sempre a mesma fórmula bem definida, e independe do tamanho do conjunto de dados, e dos tipos de dados-chave utilizados. B O uso de estrutura de tabela hash sempre apresentará um desempenho de busca superior ao endereçamento direito. C Uma função hash necessita inserir dados que minimizem o número de colisões, reduzindo também o tempo gasto resolvendo colisões e reavendo os dados. D A função hash que utiliza o método da divisão só pode ser aplicado para palavras-chave do tipo numérica. E O método da divisão utiliza o quociente da divisão de dois valores para encontrar a posição de uma palavra-chave.