

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Bárbara implementa um algoritmo de ordenação estável cuja complexidade temporal média OT pertence a O(n.logn) e cuja complexidade espacial OE pertence a O(n), sendo n o tamanho do vetor a ser ordenado.
O algoritmo implementado é o:
quick sort;
merge sort;
bubble sort;
insertion sort;
selection sort.
Julgue o item seguinte a respeito dos conceitos de algoritmo de ordenação.
O algoritmo merge sort ordena os elementos de um vetor percorrendo este diversas vezes e, a cada passagem, deslocando até o topo o maior elemento da sequência.
Certo
Errado
Analise as assertivas abaixo sobre notação big-O e complexidade de algoritmos, observando as afirmações sobre algoritmos de ordenamento:
I. O algoritmo quicksort tem uma complexidade no caso médio de Θ(nlog(n)).
II. O algoritmo mergesort tem uma complexidade no pior caso de O(n log(n)).
III. O algoritmo bubble sort tem uma complexidade no melhor caso de Ω(n).
IV. O algoritmo selection sort tem uma complexidade no melhor caso de Ω(n).
Quais estão corretas?
Apenas I.
Apenas II.
Apenas III e IV.
Apenas I, II e III.
I, II, III e IV.
Sobre o Método de Ordenação Merge Sort, é CORRETO afirmar que:
o Merge Sort, ou Ordenação por Mistura, é um algoritmo de ordenação por inserção.
o Merge Sort, ou Ordenação por Mistura, é um algoritmo de ordenação por seleção.
o Merge Sort, ou Ordenação por Mistura, é mais eficiente que o Método da Bolha (Bubble Sort) apenas nos casos em que há poucos dados a serem ordenados.
o Merge Sort é mais eficiente que o Método da Bolha (Bubble Sort) em todos os casos.
o Merge Sort, ou Ordenação por Mistura, é um algoritmo de ordenação que usa a estratégia dividir-para-conquistar.
O método de ordenação conhecido por merge sort é usualmente implementado de maneira recursiva e realiza o ordenamento basicamente separando o vetor de dados em análise em duas partes, até que haja a comparação de apenas dois elementos para se verificar se há a necessidade de troca da posição. Depois, também de maneira recursiva, esses elementos vão sendo novamente reagrupados até que o vetor seja retornado na ordem ascendente ou descendente, conforme o interesse, como esquematizado na figura a seguir.

Fonte: IFSP, 2022.
Considerando o trecho de código a seguir e o vetor B=[10, 9, 8, 7, 6, 5, 4, 3, 2, 1], é correto afirmar que, no print(A) da linha 7 com o ordenamento ascendente do vetor B, a resposta da sua saída será:
1 | defmergesort(A, aux,esquerda, direita): |
2 | if direita <= esquerda: |
3 | return |
4 | meio = (esquerda + direita) / |
5 | # Ordenaa primeira metade do arranjo. |
6 | mergesort(A, aux,esquerda, meio) |
7 | print(A) |
8 | # Ordenaa segunda metadedo arranjo. |
9 | mergesort(A, aux,meio + 1, direita) |
10 | # Combina as duas metades ordenadas anteriormente. |
11 | merge(A, aux,esquerda, meio, direita) |
[9, 10, 8, 7, 6, 5, 4, 3, 2, 1]
[10, 9, 8, 6, 7, 5, 4, 3, 2, 1]
[10, 9, 8, 7, 6, 4, 5, 3, 2, 1]
[10, 9, 8, 7, 6, 5, 4, 3, 1, 2]
Uma fábrica de software foi contratada para desenvolver um produto de análise de riscos. Em determinada funcionalidade desse software, é necessário realizar a ordenação de um conjunto formado por muitos números inteiros. Que algoritmo de ordenação oferece melhor complexidade de tempo (Big O notation) no pior caso?
Merge sort
Insertion sort
Bubble sort
Quick sort
Selection sort
Os Algoritmos de ordenação colocam os elementos de uma dada sequência em uma certa ordem. As ordens mais usadas são a numérica e a lexicográfica. Existem várias razões para se ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente. Selecione abaixo a alternativa que indica alguns dos mais conhecidos métodos de ordenação:
Pilha e Fila.
Árvore e árvore Binária.
Bubble sort e Vetores.
Quick sort e Merge sort