Buscar

A2 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 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 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 2 
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. 
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 
 
 
• Pergunta 3 
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 4 
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 5 
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 6 
1 em 1 pontos 
 
Existem estruturas de dados com métodos específicos para ordenação. Os 
conceitos dessas estruturas são aplicados 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. Assim, analise o código 
abaixo: 
 
Qual a alternativa que corresponde aos conceitos de ordenação do 
pseudocódigo (imagem) acima: 
 
Resposta Selecionada: 
. Bubble Sort. 
Resposta Correta: 
.Bubble Sort. 
Feedback da 
resposta: 
Resposta correta. O algoritmo 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. 
 
 
• Pergunta 7 
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: 
. bubble sort, selection sort, merge sort, quick sort. 
Resposta 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 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. 
 
 
 
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. 
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 
 
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 doiní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 
 
https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png
https://images.deepai.org/glossary-terms/a5228ea07c794b468efd1b7f758b9ead/Quicksort.png
métodos corretos nos algoritmos faz com que aumente a 
eficiência das aplicações. 
 
• Pergunta 10 
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. 
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.

Continue navegando