













Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
QUESTÕES RESPONDIDAS: ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 1 AO 8 RESOLVIDO
Tipologia: Exercícios
1 / 21
Esta página não é visível na pré-visualização
Não perca as partes importantes!
ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 1 RESOLVIDO Atividade 1 - Quando falamos em representatividade de dados estamos falando sobre base para construção de algoritmos. Identificar qual tipo de dado é o mais adequado, bem como a estruturação mais adequada são pilares para qualquer desenvolvimento. Considerando esse cenário, é verdadeiro o que se afirma em: a. Existem somente três tipos de dados primitivos, Inteiro, Real e Texto b. O tipo texto também engloba números que podem ser utilizados para a realização de algum tipo de soma/subtração c. Existem somente um tipo de dado primitivo, o tipo texto que incorpora vários tipos d. Existem quatro tipos básicos de dados primitivos: o inteiro, o real, o lógico e o texto. (correta) e. O tipo real somente engloba números inteiros Comentário: Na programação existem 4 tipos de dados primitivos, que são:
_- Inteiro: como o próprio nome já diz, são números que não possuem casas decimais, podendo ser positivos ou negativos.
Comentário: Por se tratar de uma frase, a declaração dessa variável é do tipo primitivo de texto. Atividade 3 - Um programador Java necessita desenvolver um código que tem como propósito exibir sua idade. Qual será o resultado desse programa? a. Maior Idade (correta) b. Sua idade é 13 c. Idade d. 13 e. Você é maior de idade. Comentário : Em Java sempre que quisermos mostrar o resultado na tela, será usado a declaração System.out.println (“ ”), será mostrado ao usuário a informação que estiver dentro dos parênteses e aspas. No caso dessa figura será apresentado como resultado “Maior Idade”. Atividade 4 - Vamos imaginar um cenário em que se torna necessário estabelecer um código para identificar uma afirmação. Determinado aluno(a) se obtiver idade menor que 18 anos, deverá ser exibido “menor idade”, caso contrário deverá ser exibido “maior idade”. Estamos falando de qual tipo de estruturação em Java?
d. Tanto Java quanto Python necessitam de declaração de variáveis. e. Não é necessário declarar tipos em Python (correta) Comentário: Em Python não precisa declarar o tipo de variável, pois o interpretador Python consegue identificar qual é o tipo de variável. Atividade 2 - Em Python, uma declaração de variável acontece de maneira simples. Neste sentido, um desenvolvedor foi contratado para a elaboração de um sistema que tem como finalidade receber um número e exibir na tela. Como acontece essa declaração dessa variável? a. String a = 5 b. Print(a) c. Float a = 5 d. A = 5 (correta) e. Int a = 5 Comentário: Em Python não é preciso declarar o tipo de variável. Sendo assim é simples realizar a declaração, é só atribuir o valor, ou seja, A recebe o valor 5. O sinal de igualdade em programação significa que A recebe o valor 5 e não que A é igual a 5. Atividade 3 - Na ciência da computação e em todas as áreas que envolvem codificação, a recursão é um método no qual as etapas são executadas em repetição para resolver um problema. Em quais contextos, abaixo, uma recursão é necessária? a. Quando é necessário realizar a soma de um produto b. É necessário quando há necessidade de multiplicação de valores. c. Quando precisamos utilizar um algoritmo de ordenação (correta) d. Quando não precisamos utilizar um algoritmo de ordenação e. Recursividade não é necessário em nenhuma circunstância. Comentário: A recursão é definida como função ou método de uma subrotina que invoca por si mesmo direta ou indiretamente. Onde ocorre a repetição até que o problema seja
resolvido, temos que observar para que o código não fique repetindo e assim ocasionar o LOOP. Atividade 4 - O algoritmo heapsort pode ser entendido como uma versão aprimorada da árvore de pesquisa binária. Ele não cria um nó como no caso da árvore de pesquisa binária, em vez disso, ele constrói o heap ajustando a posição dos elementos dentro do próprio array [vetor]. Considerando esse cenário é correto o que se afirma em: a. O HeapSort é um método de classificação de dados b. O HeapSort é um método de ordenação de dados (correta) c. O HeapSort é um método de agrupamento de dados d. O HeapSort é um método que possui somente um nó que representa um dado máximo e. O HeapSort é um método de portfólio de dados _Comentário: Conforme o enunciado já descreveu, o heapsort é uma versão aprimorada da árvore binária. Ele ajusta a posição dos elementos dentro do próprio array, ou seja, um algoritmo usa a estrutura de heap que irá ordenar os elementos. Sendo assim o HeapSort é um método de ordenação de dados. Referências utilizadas nas resoluções das questões: SAKURAI, RR. G. Pesquisa Sequencial Java. Universidade Java, 2020. Disponível em: https://www.universidadejava.com.br/pesquisa_ordenacao/pesquisa-sequencial/. Acesso em: 30 jan.
ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 3 RESOLVIDO_ Pergunta 1 - Um algoritmo RadixSort foi implementado em uma organização a fim de realizar o ordenamento de uma tabela. Dentre as características abaixo, por que esta empresa utilizou o Radix Sort? ∎ Porque ele é um algoritmo não comparativo ∎ Porque ele tem melhor desempenho que os demais algoritmos de agrupamento. ∎ Porque ele é um algoritmo comparativo ∎ Porque ele possui uma raiz que realiza o agrupamento dos dados ∎ Porque ele determina intervalos, o que melhora o desempenho em uma dada máquina Resposta Correta: Porque ele é um algoritmo não comparativo (este foi o principal motivo pelo qual a empresa utilizou o Radix Sort).
∎ O número 4 ficará na casa número 0 ∎ O número 4 ficará na casa número 4 ∎ O número 4 ficará exatamente nessa posição ∎ O número 4 entrará no lugar do número 6 ∎ O número 4 entrará no lugar do número 7 Resposta Correta: A partir do cenário onde necessita-se realizar o ordenamento de um conjunto de cartas de baralho a partir do insertion sort a afirmativa correta é “o número 4 ficará na casa número 0” Pergunta 4 - Complete a lacuna. Um algoritmo insertion sort é um algoritmo de ______________ que tem como finalidade percorrer as posições do vetor começando pelo primeiro índice. ∎ Portfólio ∎ Classificação ∎ Agrupamento ∎ Ordenação ∎ Predição Resposta Correta: Um algoritmo insertion sort é um algoritmo de ORDENAÇÃO que tem como finalidade percorrer as posições do vetor começando pelo primeiro índice.
Curiosidade: O algoritmo RadixSort surgiu com a necessidade de manter a ordenação dos cartões perfurados e isso ocorreu porque o número de cartões que eram necessários cresceu bastante, o que dificultava o controle. Além disso, uma vez perfurados, as folhas ou cartões precisavam ser interpretados para ter algum significado. Era necessário uma forma de interpretar e manter a ordem das folhas, caso contrário, a máquina, que também interpretava os dados, receberia dados errados no processamento das informações. (GUIMARÃES, 2013). Referência: GUIMARÃES, G. História da Computação: O Algoritmo RadixSort. Pet News, 2013. Disponível em: http://www.dsc.ufcg.edu.br/~pet/jornal/junho2013/materias/historia_da_computacao.htm l. Acesso em: 22 fev. 2022. ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 4 RESOLVIDO Pergunta 1 - Sobre algoritmos de pesquisa é correto o que se afirma em: ∎ Algoritmos de pesquisa de dados são ineficientes ∎ Um algoritmo de pesquisa tem como premissa principal, a partir de um problema inicial, retornar uma solução para esse dado problema. Isto acontece a partir da resolução de um número considerável de possíveis soluções. ∎ Algoritmos de pesquisa de dados não podem ser utilizados em grande volume de dados. ∎ A classificação de dados e pesquisa de dados possuem o mesmo sentido ∎ A pesquisa diz respeito a classificação de dados em grupos menores Resposta Correta: Um algoritmo de pesquisa tem como premissa principal, a partir de um problema inicial, retornar uma solução para esse dado problema. Isto acontece a partir da resolução de um número considerável de possíveis soluções.
∎ O algoritmo realiza simplesmente uma busca em conjunto de dados ∎ O algoritmo realiza um ordenamento ∎ O algoritmo busca criar um cluster para a análise de dados Resposta Correta: O algoritmo realiza simplesmente uma busca em conjunto de dados Pergunta 4 - Como acontece a divisão de um algoritmo de pesquisa binária? ∎ Limite superior/ ∎ (Limite superior + Limite inferior) / ∎ Meio/ ∎ Elemento na posição 0/ ∎ Limite inferior/ Resposta Correta: A divisão de um algoritmo de pesquisa binária ocorre da seguinte maneira : (Limite superior + Limite inferior) /2. Referência utilizada para resolução das questões: WINSTON, P. G. Artificial Intelligence, Second Edition, Addison-Wesley, 1993. ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 5 RESOLVIDO Pergunta 1 - A ideia fundamental nesta técnica de pesquisa é identificar o número de elementos em comparação com o que vimos no algoritmo de pesquisa linear. Desta forma, em vez de analisar cada elemento de um vetor, esse algoritmo pula algum número fixo de elementos da matriz ou avança por um número fixo de etapas a cada iteração. Estamos falando de qual algoritmo? ∎ Insertion Sort ∎ Merge Sort
∎ Bublle Sort ∎ JumpSearch ∎ Heap Sort Resposta Correta: De acordo com o enunciado estamos falando do algoritmo “JumpSearch”. Pergunta 2 - Uma empresa deseja estabelecer uma organização da sua base de dados levando em consideração os dados existentes (somente dados estruturados). Neste sentido, decidiu implementar um algoritmo que tem como finalidade realizar etapas a partir de “pulos”, como ilustra a figura: Neste contexto, como essa empresa vai identificar a quantidade de pulos necessários para encontrar determinado elemento em uma lista? ∎ N² ∎ N ∎ √𝑛 ∎ 2n
∎ É um sistema que gerencia o banco de dados ∎ É um banco de dados ∎ É um sistema permite a comunicação entre cliente e servidor ∎ É um sistema que manipula dados não estruturados ∎ É um sistema que cria banco de dados Resposta Correta: Um SGBD é um sistema que gerencia o banco de dados de acordo com esse cenário. O que é SGBD? SGBD é a sigla para Sistema Gerenciador de Banco de Dados – em inglês, Data Base Management System. Por meio desse recurso, operacionalizado na forma de software, sua empresa se habilita a realizar uma série de tarefas e atividades, tomando seus dados como referência. Referências: Blog da Five Acts. SGBD: O QUE É, COMO FUNCIONA E PRINCIPAIS VANTAGENS. Disponível em: https://www.fiveacts.com.br/sgbd/. Acesso em: 24 fev. 2022.
ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 6 RESOLVIDO Pergunta 1 - O ______________ é um dos algoritmos mais utilizados quando estamos falando de ordenação. Neste algoritmo há uma divisão e conquista de um dado vetor. Este algoritmo possui o melhor desempenho dentre todos. ∎ BubbleSort ∎ Pesquisa Binária ∎ HeapSort ∎ MergeSort ∎ QuickSort Resposta Correta: O QuickSort é um dos algoritmos mais utilizados quando estamos falando de ordenação. Pergunta 2 - O _____________ é um dos algoritmos mais utilizados e mais simples quando estamos falando em ordenação. O mesmo percorre N elementos de um determinado vetor e a cada vez que o algoritmo percorre os elementos, todos eles são comparados com a finalidade de verificar se estão na ordem. ∎ BubbleSort ∎ MergeSort ∎ Pesquisa Binária ∎ HeapSort ∎ QuickSort
Pergunta 4 - Considere o seguinte trecho de código: Def heapSort(a): N = len (a) for i in range (n//2, -1, -1): heap (a, n, i) for i in range (n-1, 0, -1): a[i], a[0] = a[0], a[i] heap (a, i, 0) Qual é a função desta parte em um algoritmo de heap sort? ∎ estabelecer o max heap a partir da segunda estrutura (ou seja, a troca de posição do menor número com o maior número) ∎ estabelecer o max heap a partir da segunda estrutura (ou seja, a troca de posição do maior número com o menor número) ∎ estabelecer o min heap a partir da segunda estrutura (ou seja, a troca de posição do maior número com o maior número) ∎ estabelecer o min heap a partir da segunda estrutura (ou seja, a troca de posição do maior número com o maior número ∎ estabelecer o max heap a partir da segunda estrutura (ou seja, a troca de posição do menor número com o menor número) Resposta Correta: A função desta parte em um algoritmo de heap sort é estabelecer o max heap a partir da segunda estrutura (ou seja, a troca de posição do menor número com o maior número).
Extra: O heap sort utiliza uma estrutura de dados chamada heap binário para ordenar os elementos à medida que os insere na estrutura. Assim, ao final das inserções, os elementos podem ser sucessivamente removidos da raiz da heap, na ordem desejada. Um heap binário é uma árvore binária mantida na forma de um vetor. Referências: FARIAS, R. Estrutura de Dados e Algoritmos. UFRJ, 2014. Disponível em: https://www.cos.ufrj.br/~rfarias/cos121/aula_09.html. Acesso em: 01 mar. 2022. ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 7 RESOLVIDO Pergunta 1 - ______________________ é uma aplicação de inteligência artificial (IA) que fornece aos sistemas a capacidade de aprender e melhorar automaticamente com a experiência, sem ser explicitamente programado. O aprendizado de máquina se concentra no desenvolvimento de programas de computador que podem acessar dados e usá-los para aprender por si próprios. ∎ Deep learning ∎ Support Vector Machine ∎ Intgeligencia Artificial ∎ Aprendizagem de Máquina ∎ Redes Neurais Resposta Correta: A resposta correta que preenche a lacuna acima é “Aprendizagem de Máquina”. Pergunta 2 - Qual é a diferença básica entre machine learning e deep learning? ∎ Enquanto os algoritmos de aprendizado de máquina tradicionais são exponenciais, os algoritmos de aprendizado profundo são empilhados em uma hierarquia de complexidade e abstração crescentes.
Pergunta 4 - “Permite o processamento distribuído de grandes conjuntos de dados por meio de clusters de computador usando modelos de programação. Ele foi projetado para garantir ampla escalabilidade de um único servidor a um cluster com milhares de máquinas, cada uma oferecendo computação local e capacidade de armazenamento. Em vez de depender de hardware para fornecer maior disponibilidade, a própria biblioteca foi projetada para detectar e resolver falhas na camada de aplicativo para fornecer um serviço de alta disponibilidade baseado em uma grade de computadores.” Estamos falando de: ∎ Deep Learning ∎ Hadoop ∎ Matemática ∎ BigData ∎ Machine Learning Resposta Correta: No trecho exposto no enunciado acima estamos falando de Hadoop. Curiosidade: “Hadoop” era o nome de um elefantinho amarelo de brinquedo do filho de um dos inventores. (SAS, 2022). Referência:
SAS. Hadoop: O que é e qual sua importância? Disponível em: https://www.sas.com/pt_br/insights/big-data/hadoop.html. acesso em: 02 mar. 2022. ESTRUTURA DE DADOS II (2022) - QUESTIONÁRIO 8 RESOLVIDO Pergunta 1 - __________________ é o processo de agrupar objetos de forma que aqueles no mesmo agrupamento, tenham mais semelhanças em comum com o seu grupo do que em outros grupos. ∎ Agrupamento ∎ Clustering ∎ Classificação ∎ BigData ∎ Mapeamento Resposta Correta: O termo acima que preenche corretamente o trecho exposto no enunciado é “clustering “. Pergunta 2 - Quais são os principais métodos de agrupamentos existentes? ∎ Somente densidade ∎ Somente particionamento ∎ Particionamento, Hierárquicos e Densidade ∎ Densidade e Particionamento ∎ Particionamento e Hierárquico Resposta Correta: Atualmente, os principais métodos de agrupamentos existentes são particionamento, hierárquicos e densidade.