Buscar

Estruturas de Dados e Algoritmos de Ordenação

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

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 6, do total de 6 páginas

Prévia do material em texto

Atividade 2 Estrutura de Dados 
 
1. 
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: 
 
 
 
 
 
 
 
 
 
2. 
Algoritmos são desenvolvidos para facilitar a nossa vida e fornecer respostas de 
maneira rápida e eficiente. Podemos descrever a complexidade que um algoritmo 
possui analisando as funções existentes no código. O algoritmo Quick Sort possui 
complexidade ______________ no melhor caso, ___________ no caso médio e 
_____________ no pior caso. 
Assinale a alternativa que imprima a complexidade dos algoritmos na ordem correta. 
 
 
 
 
 
 
 
 
 
 
3. 
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. 
 
 
 
 
 
 
 
 
 
 
 
4. 
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. 
 
 
 
 
 
 
 
 
 
 
 
5. 
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: 
 
 
 
 
 
 
 
 
 
 
 
6. 
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: 
 
 
 
 
 
 
 
 
 
 
7. 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8. 
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 
 
 
 
 
 
 
 
 
 
 
 
9. 
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 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10. 
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.

Outros materiais