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

Prévia do material em texto

Ordenar \u201ccorresponde 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\u201d. (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.
Feedback 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.
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.
Resposta Selecionada:
 
.O (n log n), O (n log n), O (n 2).
Resposta Correta:
 
.O (n log n), O (n log n), O (n2).
Feedback da resposta:
Resposta correta. O Algoritmo Quick-Sort trabalha com eficiência e com uma base de dados grande, dividindo o array em pequenos arrays
com base em um elemento chamado pivô.
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:
 
. 4 trocas.
Resposta Correta:
 
. 3 trocas.
Feedback da resposta:
Sua resposta está incorreta. O algoritmo utiliza o pivô para comparar os elementos do array, quando a comparação é verdadeira, os elementos são alterados, obtendo assim a troca. O Pivô praticamente divide os dados em subconjuntos, sendo um menor que o pivô e outro maior.

Outros materiais