Buscar

A2 Estrutura de dados UAM

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

· Pergunta 1
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.
 
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:
	 
. Quick Sort.
	Resposta Correta:
	 
.Quick Sort.
	Comentário 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 2
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 acima são verdadeiras (V) ou falsas (F).
	
	
	
	
		Resposta Selecionada:
	 
.F, V, V, F.
	Resposta Correta:
	 
.F, V, V, F.
	Comentário 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 3
1 em 1 pontos
	
	
	
	O método de ordenação Bubble Sort , também conhecido como método bolha, é classificado como um método simples e também um dos métodos mais utilizados. Utilize esse algoritmo para ordenar um array unidimensional, contendo os números [6,5,0,3,2] em ordem crescente.
Assinale a alternativa a seguir que apresente a quantidade de comparações e trocas que serão realizados para ordenar o array utilizando o algoritmo Bubble Sort .
	
	
	
	
		Resposta Selecionada:
	 
.10 comparações e 8 trocas.
	Resposta Correta:
	 
.10 comparações e 8 trocas.
	Comentário da resposta:
	Resposta correta. O algoritmo Bubble Sort se limita em percorrer n vezes os elementos do array do início ao fim, sem interrupção, trocando a posição dos elementos sempre que estiverem desordenados.
	
	
	
· Pergunta 4
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:
	 
. Merge Sort.
	Resposta Correta:
	 
. Merge Sort.
	Comentário 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
	
	
	
· Pergunta 5
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).
	Comentário 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 6
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).
	Comentário 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 7
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.
	Comentário 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.
	
	
	
· Pergunta 8
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.
	Comentárioda 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 9
1 em 1 pontos
	
	
	
	Ordenar “corresponde ao processo de rearranjar um conjunto de objetos em ordem ascendente ou descendente. O objetivo principal da ordenação é facilitar a recuperação posterior de itens do conjunto ordenado”. (ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em JAVA e C++. Cengage Learning Editores, 2012).  Analise as afirmativas abaixo sobre os conceitos de algoritmos de ordenação.
 
                                I.            Uma vantagem de entender os métodos de ordenação por meio do pseudocódigo faz a transformação do algoritmo para linguagens de programação torna atividade mais simples.
                             II.            O algoritmo Bublle Sort, possui complexidade O ( n -1) para o melhor caso e O ( n 2) para o pior caso.
                          III.            O algoritmo Quick Sort é baseado no fato de que as interações devem ser preferencialmente empregadas para pares de elementos que guardem entre si distâncias grandes, com a finalidade de se conseguir uma eficiência maior.
                          IV.            O algoritmo Selection Sort, possui complexidade O ( n) em todos os casos de complexidade, ou seja, melhor caso, médio caso e pior caso.  (F)
 
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.
	Comentário da resposta:
	Resposta correta. Podemos utilizar código mais simples para representar conceitos, ou utilizar formas genéricas de escrever um algoritmo, utilizando uma linguagem simples.
	
	
	
· Pergunta 10
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.
	Comentário 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.
	
	
	
Sexta-feira, 10 de Dezembro de 2021 18h12min41s BRT

Outros materiais