Você está na página 1de 6

UNIVERSIDADE ESTADUAL DA PARAÍBA

CAMPINA GRANDE, 16 DE FEVEREIRO DE 2022

DEPARTAMENTO DE COMPUTAÇÃO - CCT

DISCIPLINA - TÉCNICAS DE ANÁLISE DE ALGORITMO

PROFESSOR - PAULO CÉSAR OLIVEIRA BRITO

ATIVIDADE AVALIATIVA - UNIDADE 01

1 - "Este é o algoritmo mais eficiente na ordenação por comparação. Nele se escolhe um


elemento chamado de pivô, a partir disto é organizada a lista para que todos os números
anteriores a ele sejam menores que ele, e todos os números posteriores a ele sejam maiores que
ele. Ao final desse processo o número pivô já está em sua posição final. Os dois grupos
desordenados recursivamente sofreram o mesmo processo até que a lista esteja ordenada."
A descrição acima se refere ao algoritmo de ordenação:

A) Selection Sort
B) Quick Sort
C) Merge Sort
D) Bubble Sort

2 - No caso de uma lista já ordenada em ordem crescente, qual o único algoritmo de ordenação
das opções a seguir que não vai realizar movimentações mas em compensação é o que tem o
maior tempo e o maior número de comparações?

A) Bubble Sort
B) Merge Sort
C) Quick Sort
D) Insertion Sort
3 - Baseando-se nos conhecimentos acerca de algoritmos de ordenação, analise a imagem a
seguir. Qual nome é dado ao algoritmo de ordenação abaixo?

A) Selection Sort
B) Merge Sort
C) Insertion Sort
D) Bubble Sort

4 - Um determinado programador é responsável por tarefas de ordenação e, ao estudar


determinados produtos, resolveu ordenar, de maneira crescente, a sequência [64, 34, 25, 12,
90, 11, 22] utilizando dois algoritmos, o Bubble Sort e o Selection Sort, nessa ordem. Ele
iniciou o teste com o Bubble Sort, mas, na iteração em que a chave 64 atingiu a sua posição
correta pela primeira vez, copiou a sequência alcançada nesse estágio e utilizou-a para
continuar o trabalho com o algoritmo Selection Sort. A partir do momento em que o
programador começa a utilizar o segundo algoritmo, quantas trocas de posições de chaves serão
realizadas para atingir, pela primeira vez, a situação em que a sequência está ordenada?

A) 1
B) 2
C) 3
D) 4
E) 5
5 - Assinale a opção que apresenta a técnica que tem a maior complexidade de tempo de
execução.

A) Quick Sort
B) Insertion Sort
C) Bubble Sort
D) Selection Sort
E) Heap Sort

6 - Assinale a alternativa correta acerca do algoritmo Quicksort.

A) Implementa técnicas que possibilitam pressupor a sua entrada.


B) É utilizada uma árvore binária para a sua implementação.
C) Não ordena, apenas realiza buscas.
D) É o mais rápido para a ordenação.
E) Baseia-se no paradigma de dividir e conquistar.

7 - Em relação a algoritmos de ordenação, leia as informações abaixo e assinale a alternativa


correta.

I - Bubble Sort é um algoritmo de ordenação com caso médio de ordem O(n2).


II - Um algoritmo de ordenação é estável quando sempre mantém os elementos repetidos na
mesma ordem em que aparecem na entrada.
III - Merge Sort foi inventado após 1940.
IV - Merge Sort é um algoritmo que permite paralelismo. V - Timsort é um algoritmo híbrido
derivado do Merge Sort e do Insertion Sort.

A) Somente I e II estão corretas.


B) Somente I, II e IV estão corretas.
C) Somente I, II, III e IV estão corretas.
D) Somente I, II, IV e V estão corretas.
E) I, II, III, IV e V estão corretas.
8 - Método de ordenação em computação é um algoritmo que coloca os elementos de dada
sequência em certa ordem. Um dos principais pontos para se ordenar os dados é realizar a busca
de forma mais eficiente. Com base no exposto, o seguinte trecho de código é referente a qual
algoritmo de ordenação?

A) Insertion Sort.
B) Selection Sort.
C) Quick Sort.
D) Bubble Sort.
E) Merge Sort.

9 - O algoritmo de ordenação mais eficiente para um conjunto grande de elementos


randomicamente inseridos é:

A) Seleção (Selection sort).


B) Bolha (Bubble sort).
C) Inserção (Insertion sort).
D) Quicksort.
10 - Na tabela a seguir, considerando os métodos de ordenação, que visam a colocar uma lista
em ordem para facilitar a busca de informações nela contidas, associe os métodos à sua
respectiva descrição.

Método de Ordenação
(1) Bubble Sort
(2) Insertion Sort
(3) Selection Sort
(4) Shellsort
(5) Mergesort
(6) Quicksort
(7) Heapsort

Descrição
( ) Neste método, a lista é subdividida em h-listas, as quais são ordenadas com um método de
ordenação qualquer. Esse procedimento é repetido para valores decrescentes de h, sendo que o
último valor de h tem que ser 1.
( ) Neste método, são usados, inicialmente, os elementos da lista que são inseridos em um heap
binário crescente. Em seguida, são feitas sucessivas remoções do menor elemento do heap,
colocando os elementos removidos do heap de volta na lista.
( ) Neste método, a lista é dividida em duas metades. Essas metades são ordenadas
recursivamente e depois são intercaladas. Para tanto, faz-se uso das variáveis i e j para percorrer
a metade esquerda e a metade direita, respectivamente. Em cada iteração, compara-se o
elemento na posição i com o elemento na posição j. O menor deles é copiado para um vetor
auxiliar. Esse procedimento é repetido até que uma das duas metades tenha sido totalmente
copiada para o vetor auxiliar.
( ) Neste método, os elementos da lista são movidos para as posições adequadas de forma
contínua. Se um elemento está inicialmente numa posição i e, para que a lista fique ordenada,
ele deve ocupar a posição j, então ele terá que passar por todas as posições entre i e j. Em cada
iteração do método, percorre-se a lista a partir de seu início, comparando cada elemento com
seu sucessor, trocando-os de posição se houver necessidade.
( ) Neste método, a lista é dividida em parte esquerda e parte direita, sendo que os elementos
da parte esquerda são todos menores do que os elementos da parte direita. Em seguida, as duas
partes são ordenadas recursivamente.
( ) Neste método, considera-se que a lista está dividida em parte esquerda, já ordenada, e parte
direita, em possível desordem. Além disso, os elementos da parte esquerda são todos menores
ou iguais aos elementos da parte direita. Cada iteração consiste em escolher o menor elemento
da parte direita (pivô) e trocá-lo com o primeiro elemento da parte direita. Com isso, a parte
esquerda aumenta, pois passa a incluir o pivô, e a parte direita diminui.
( ) Neste método, considera-se que a lista está dividida em parte esquerda, já ordenada, e parte
direita, em possível desordem. Inicialmente, a parte esquerda contém apenas o primeiro
elemento da lista. Cada iteração consiste em colocar o primeiro elemento da parte direita (pivô)
na posição adequada da parte esquerda, de modo que a parte esquerda continue ordenada.

A sequência correta desta associação é

A) (2); (5); (4); (6); (7); (1); (3).


B) (4); (7); (5); (1); (6); (3); (2).
C) (6); (2); (3); (5); (1); (7); (4).
D) (3); (6); (7); (4); (5); (2); (1).
E) (7); (4); (1); (2); (3); (5); (6).

Você também pode gostar