Buscar

ESTRUTURA DE DADOS - ATIVIDADE 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 5 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

Prévia do material em texto

Curso
	GRA0246 ESTRUTURA DE DADOS PTA - 202010.ead-3874.03
	Teste
	ATIVIDADE 2 (A2)
	Iniciado
	05/06/20 15:30
	Enviado
	05/06/20 16:00
	Status
	Completada
	Resultado da tentativa
	10 em 10 pontos  
	Tempo decorrido
	29 minutos
	Resultados exibidos
	Respostas enviadas, Respostas corretas, Comentários
· Pergunta 1
1 em 1 pontos
	
	
	
	A complexidade de um algoritmo é calculada por meio da complexidade temporal e espacial, sendo na primeira o cálculo do tempo que as instruções levam para serem executadas em uma aplicação (utilizando as funções), e na sequência, o espaço na memória que o algoritmo utiliza enquanto é executado. Existem algoritmos que necessitam de muito mais espaço, como o Algoritmo _____________. Assinale a alternativa que complete o nome de algoritmo que exige mais espaço na memória.
	
	
	
	
		Resposta Selecionada:
	 
. Merge Sort.
	Resposta Correta:
	 
. Merge Sort.
	Feedback da resposta:
	Resposta correta. Um algoritmo estável, muito indicado para organizar uma grande quantidade de dados, com um desempenho de (n log n) para todos os casos. Sendo muito eficiente quando levamos em conta o tempo de execução do algoritmo.
	
	
	
· Pergunta 2
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:
	 
. O(n²).
	Resposta 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 3
1 em 1 pontos
	
	
	
	Os algoritmos de ordenação foram desenvolvidos para auxiliar na ordenação e com isso melhor a eficiente de busca dos sistemas. O algoritmo na imagem abaixo está percorrendo o array
comparando todos os elementos até encontrar o menor elemento. Encontrando o menor elemento, o algoritmo irá posicioná-lo na posição inicial do array. A imagem abaixo está descrevendo o pseudocódigo de um algoritmo específico.
Analise os conceitos descritos acima e a imagem. Assinale a alternativa que corresponde aos conceitos e ao código acima:
	
	
	
	
		Resposta Selecionada:
	 
. Selection Sort.
	Resposta Correta:
	 
. Selection Sort.
	Feedback da resposta:
	Resposta correta. O Algoritmo é estável, no qual não altera a ordem dos dados iguais e pode organizar os elementos assim que os recebe, sem necessitar organizar depois de receber todos os dados.
	
	
	
· Pergunta 4
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:
	 
. O(n²).
	Resposta 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 5
1 em 1 pontos
	
	
	
	O método de ordenação Insertion Sort, também conhecido como método de inserção, é classificado como um método simples. O funcionamento do método é percorrer os elementos e à medida que avança vai ordenando. Utilize esse algoritmo para organizar em ordem crescente um array
unidimensional, contendo os números [5,3,8,2,6].
Assinale a alternativa a seguir que apresente a quantidade de trocas que serão realizados para ordenar o array utilizando o algoritmo Insertion Sort.
	
	
	
	
		Resposta Selecionada:
	 
.5 trocas.
	Resposta Correta:
	 
.5 trocas.
	Feedback da resposta:
	Resposta correta. O algoritmo Insertion Sort se limita em a cada passo a partir do segundo elemento selecionar o próximo item da sequência e colocá-lo no local apropriado.
	
	
	
· 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:
	 
. O(n).
	Resposta 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
1 em 1 pontos
	
	
	
	Existem algoritmos de ordenação mais complexos e algoritmos mais simples de implementar.  Os algoritmos Merge e Quick são considerados algoritmos complexos, sendo mais eficientes e executam as aplicações em tempo menor que os algoritmos mais simples. Analise as afirmativas abaixo sobre os algoritmos de ordenação:
                                I.            Os métodos Quick Sort e Merge Sort utilizam a estratégia dividir para conquistar.
                             II.            O método de ordenação Quick Sort aloca o maior elemento para o final do array para garantir que os dados fiquem em ordem decrescente.
                          III.            No pior caso, o algoritmo bolha executa n 2 operações para ordenar um array de n elementos.
                          IV.            O algoritmo de ordenação por inserção possui o menor número de trocas quando o array está ordenado de forma inversa à ordem do procedimento.
Julgue e assinale se as afirmativas acima são verdadeiras (V) ou falsas (F).
	
	
	
	
		Resposta Selecionada:
	 
. V, F, V, F.
	Resposta Correta:
	 
. V, F, V, F.
	Feedback da resposta:
	Resposta correta. Tanto o Merge quanto o Quick possuem no melhor caso e no médio caso a complexidade O (n log n). Porém o Quick no pior caso não é tão eficiente quanto o Merge.
	
	
	
· Pergunta 8
1 em 1 pontos
	
	
	
	O algoritmo Merge-Sort, faz o uso da estratégia dividir para conquistar. Assim, sua ideia é dividir o conjunto de dados em subconjuntos, reorganiza cada subconjunto e depois intercala os resultados. De acordo com o método descrito, assinale a alternativa que descreva a complexidade do algoritmo no melhor caso e no pior caso
	
	
	
	
		Resposta Selecionada:
	 
Melhor caso: O (n log n)
Pior caso: O (n log n).
	Resposta Correta:
	 
Melhor caso: O (n log n)
Pior caso: O (n log n).
	Feedback da resposta:
	Resposta correta. Apesar de possuir um gasto extra de espaço de memória, o algoritmo é indicado para aplicações que possuem restrição de tempo. Podemos observar isso pela sua complexidade.
	
	
	
· Pergunta 9
1 em 1 pontos
	
	
	
	A tarefa de obter uma expressão matemática para avaliar o tempo de execução de um algoritmo não é simples, mesmo considerando-se uma expressão aproximada (SZWARCFITER, Jayme Luiz; MARKENZON, Lilian. Estruturas de Dados e seus Algoritmos . 3. ed. Rio de Janeiro: Ltc, 2010). As expressões são representadas por meio de funções, no qual podemos descobrir a complexidade do algoritmo. Desta forma, analise as afirmativas abaixo.
 
                                I.            O algoritmo Bubble Sort não é um algoritmo estável.  
                             II.            O algoritmo Bublle Sort , possui complexidade O ( n ) para o melhor caso e O ( n 2 ) para o pior caso.
                          III.            O algoritmo Quick Sort possui complexidade O ( n log ( n )) para o melhor caso.
                          IV.            O algoritmo Quick Sort é um algoritmo estável.
Julgue e assinale se as afirmativas acimasão verdadeiras (V) ou falsas (F).
	
	
	
	
		Resposta Selecionada:
	 
.F, V, V, F.
	Resposta Correta:
	 
.F, V, V, F.
	Feedback da resposta:
	Resposta correta. Existem algoritmos que são estáveis e outros não, esse conceito se refere ao fato do algoritmo não alterar os dados quando os mesmos são iguais.
	
	
	
· Pergunta 10
1 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:
	 
. Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort.
	Resposta Correta:
	 
.Insertion-Sort, Selection-Sort, Quick_Sort, Bubble-Sort.
	Feedback da resposta:
	Resposta correta. Existem vários métodos que são utilizados para ordenar, alguns mais simples e outros mais complexos. Esses métodos são estrutura de dados e a utilização de métodos corretos nos algoritmos faz com que aumente a eficiência das aplicações.
	
	
	
Domingo, 7 de Junho de 2020 14h47min22s BRT

Continue navegando