Buscar

ATIVIDADE 2 - ESTRUTURA DE DADOS

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 4 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

ATIVIDADE 2 (A2) – ESTRUTURA DE DADOS
 
0 em 1 pontos
A complexidade de um algoritmo pode ser calculada por meio da complexidade temporal e espacial, sendo na primeira o cálculo do tempo que as instruções levam para serem executadas (utilizando as funções), e na sequência, o espaço na memória que o algoritmo utiliza.
Assinale a alternativa correta que descreva o algoritmo de ordenação que contêm como complexidade O( n 2) para o melhor caso, médio caso e pior caso.
Resposta Selecionada:	
Incorreta . Bubble Sort.
Resposta Correta:	
Correta .Selection Sort.
Feedback da resposta:	Sua resposta está incorreta. O Algoritmo é estável, não alterando a ordem de dados iguais e organiza os elementos assim que os recebe, sem necessitar organizar depois de receber todos os dados. Porém, como desvantagem, esse algoritmo possui o custo de movimentação elevado para ordenar os elementos do array.
Pergunta 2
1 em 1 pontos
Cada algoritmo possui uma complexidade para resolver problemas, no qual é analisado as funções implementadas no algoritmo. Assinale a complexidade do caso médio do algoritmo de ordenação Insertion-Sort.
Resposta Selecionada:	
Correta . O(n²).
Resposta Correta:	
Correta . O(n²).
Feedback da resposta:	Resposta correta. O Algoritmo tem como vantagem ser estável, no qual não altera a ordem dos dados iguais e pode organizar os elementos assim que os recebe, como quando uma pessoa está organizando as cartas em um jogo de baralho
Pergunta 3
1 em 1 pontos
O método de ordenação Quick Sort, é classificado como um método complexo e não estável. Nesse algoritmo se faz necessária a escolha de um elemento como pivô. Utilize esse algoritmo para ordenar um array unidimensional, contendo os números [5,2,9,6,3] em ordem crescente. Considere o número 9 e, na sequência, o número 3 como pivô.
Assinale a alternativa a seguir que apresente a quantidade de trocas que serão realizados para ordenar o array utilizando o algoritmo Quick Sort.
Resposta Selecionada:	
Correta . 3 trocas.
Resposta Correta:	
Correta . 3 trocas.
Feedback da resposta:	Resposta correta. O algoritmo utiliza a estratégia dividir para conquistar e quando ele vai reorganizando os dados ocorre a troca dos elementos com o pivô.
Pergunta 4
1 em 1 pontos
Algoritmos de ordenação são exemplos de algoritmos desenvolvido para solucionar de forma mais rápida e eficiente alguns problemas com o auxílio de um computador. Existem diversos métodos que podem ser utilizados, cada método tem procedimentos distintos para resolver uma determinada tarefa. Assinale a alternativa a seguir que pode ser considerados métodos de ordenação?
Resposta Selecionada:	
Correta . bubble sort, selection sort, merge sort, quick sort.
Resposta Correta:	
Correta .bubble sort, selection sort, merge sort, quick sort.
Feedback da resposta:	Resposta correta. Existem vários algoritmos de ordenação, alguns mais simples e outros mais sofisticados. Os métodos mais simples são mais adequados para organizar poucos dados, diferente dos mais sofisticados que são mais complexos e organizam uma quantidade de dados maior de forma mais eficiente.
Pergunta 5
1 em 1 pontos
Para descobrir se um algoritmo de ordenação é eficiente, existe uma função que pode ser calculada, essa função é chamada de complexidade de algoritmo. Assim, cada algoritmo possui uma função para representar a sua complexidade, que pode ser analisada em vários cenários, como o melhor caso, médio caso e pior caso. Considere um array com 1000 elementos. Levando em conta que todos os elementos estão organizados de forma decrescente. Para ordenar esse array em ordem crescente utilizando o método Bubble Sort, assinale a alternativa que contem a complexidade para essa ordenação.
Resposta Selecionada:	
Correta . O(n²).
Resposta Correta:	
Correta . O(n²).
Feedback da resposta:	Resposta correta. Bubble-Sort é um dos métodos mais difundidos. A sua interação se limita em percorrer n vezes o array do início ao fim, sem interrupção, trocando a posição dos elementos sempre que estiverem desordenados.
Pergunta 6
1 em 1 pontos
A complexidade de um algoritmo se dá por meio das funções que são implementadas no código. Cada laço de repetição aumenta o tempo de execução da aplicação. Assinale a complexidade do melhor caso do algoritmo de ordenação Bubble Sort.
Resposta Selecionada:	
Correta . O(n).
Resposta Correta:	
Correta . O(n).
Feedback da resposta:	Resposta correta. O Algoritmo é um método mais simples, de fácil implementação e apesar da sua eficiência diminuir `a medida que os dados aumentam, ainda é um dos algoritmos mais utilizados para ordenação.
Pergunta 7
0 em 1 pontos
Em aplicações encontramos problemas que muitas vezes precisam ser ordenados, essa ordenação facilita o tempo de resposta das aplicações. Ordenar pode ser, organizar os números em ordem crescente ou decrescente, organizar nomes em ordem alfabética, entre outros. Para organizar os elementos de uma forma eficiente se faz necessária a utilização de métodos como os algoritmos de ordenação. Assim, analise as afirmativas a seguir.
 
 I. Faz uma analogia do método com o modo que algumas pessoas ordem cartas de baralho em jogo.
 II. Método de ordenação mais complexo, possui a estratégia dividir para conquistar e seleciona um pivô para auxiliar na ordenação dos elementos.
 III. O algoritmo irá percorrer o array comparando todos os elementos até encontrar o menor elemento e alocar na posição inicial do array
 IV. A interação do método se limita em percorrer diversas vezes o array do início ao fim, sem interrupção, trocando a posição de dois elementos sempre que estiverem desordenados
As afirmativas apresentam diferentes possibilidades de sequências, sendo apenas uma alternativa correta:
Resposta Selecionada:	
Incorreta . Insertion-Sort, Selection-Sort, Merge_Sort, Bubble-Sort.
Resposta Correta:	
Correta .Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort.
Feedback da resposta:	Sua resposta está incorreta. Existem métodos de ordenação mais simples e cada um possui caraterísticas diferentes para resolver problemas. No qual cada algoritmo possui uma complexidade pelo modo que o algoritmo opera. Revise as diferenças de cada método na apostila.
Pergunta 8
1 em 1 pontos
O método de ordenação abaixo, é um algoritmo mais complexo e “utiliza a estratégia dividir para conquistar. Assim, a sua ideia é escolher um elemento qualquer chamado pivô, e a partir desse pivô o array é organizado”. (ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em JAVA e C++. Cengage Learning Editores, 2012.). Analise a imagem abaixo.
 
Resultado de imagem para quick sort
Fonte: https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png
Assinale a alternativa que corresponde ao funcionamento método de ordenação mostrado na imagem acima.
Resposta Selecionada:	
Correta . Quick Sort.
Resposta Correta:	
Correta .Quick Sort.
Feedback da resposta:	Resposta correta. Um dos conceitos do algoritmo é escolher um elemento qualquer (a critério do programador), no qual será o pivô. A partir desse pivô o array será organizado, utilizando a estratégia “dividir para conquistar”.
Pergunta 9
1 em 1 pontos
As estruturas de dados são aplicadas aos algoritmos para melhorar o tempo de execução nas aplicações. Cada método de ordenação possui um conceito e uma forma de manipular os dados. O método utilizado no algoritmo abaixo é eficiente para resolver problemas com poucos dados e a sua complexidade é O (n) no melhor caso e O (n 2) no pior caso. Analise o código abaixo sobre o método de ordenação citado acima.
Qual a alternativa que corresponde aos conceitos de ordenação descritos acima e ao código na imagem representam o algoritmo de ordenação:
Resposta Selecionada:	
Correta . Insertion Sort.
Resposta Correta:	
Correta . Insertion Sort.
Feedback da resposta:	Resposta correta. O algoritmo é estável, mas possui um alto custo de movimentação dos elementosdo array.
Pergunta 10
1 em 1 pontos
Um algoritmo é uma sequência de passos que resolve algum problema ou alcança algum objetivo. E uma estrutura de dados definem como as informações serão organizadas na memória. Existem métodos ordenação que reduz o uso de memória e outros que aumentam o volume de memória utilizado. Sendo assim, analise a alternativa do método que possui como desvantagem um gasto extra de espaço de memória.
Resposta Selecionada:	
Correta . Merge Sort.
Resposta Correta:	
Correta . Merge Sort.
Feedback da resposta:	Resposta correta. O Algoritmo é estável, no qual não altera a ordem de dados iguais, e é indicado para aplicações que possuem restrição de tempo. Porém, uma grande desvantagem é possuir um gasto extra de espaço de memória

Continue navegando

Outros materiais