Questões de Concurso Comentadas sobre algoritmos de ordenação em algoritmos e estrutura de dados

Foram encontradas 217 questões

Q4193145 Algoritmos e Estrutura de Dados
A escolha do algoritmo de ordenação ou busca deve considerar o volume de dados e o estado prévio de organização da lista. Considerando o funcionamento dos algoritmos Bubble Sort, Quick Sort e busca binária, analise as afirmativas a seguir:

I.O algoritmo Bubble Sort percorre a lista múltiplas vezes, trocando elementos adjacentes de posição até que o conjunto esteja ordenado.
II.A busca binária exige que o conjunto de dados esteja previamente ordenado para que possa realizar divisões sucessivas do espaço de busca.
III.O Quick Sort baseia-se na técnica de divisão e conquista, utilizando um elemento pivô para particionar o vetor em subvetores menores.

Está CORRETO o que se afirma em:
Alternativas
Q4186039 Algoritmos e Estrutura de Dados
Considere as afirmações abaixo referentes a algoritmos de ordenação e, em seguida, assinale a alternativa correta.

I. O tempo de execução no pior caso do algoritmo Merge-Sort é Θ(n log n).

PORQUE

II. O procedimento MERGE executa Θ(n) operações ao combinar as duas metades, gerando a recorrência T(n)=2T(n/2)+Θ(n), cuja solução é Θ(n log n).
Alternativas
Q4160910 Algoritmos e Estrutura de Dados
Considere uma associação pública vinculada a um consórcio de municípios que mantém um sistema de gestão de dados para organizar registros numéricos utilizados em relatórios administrativos. Um Programador precisa implementar um algoritmo de ordenação para um vetor de inteiros desordenado, com o objetivo de facilitar consultas futuras. O algoritmo exigido percorre repetidamente o vetor, seleciona o menor elemento da parte ainda não ordenada e o posiciona na sua posição correta, repetindo esse processo até que toda a estrutura esteja ordenada. Esse algoritmo apresenta, no pior caso, complexidade O(n2), devido ao número elevado de comparações realizadas entre os elementos durante as iterações. Nesse contexto, qual algoritmo de ordenação atende à descrição apresentada?
Alternativas
Q4065001 Algoritmos e Estrutura de Dados
Sobre os algoritmos de ordenação Merge Sort e Bubble Sort (Método da Bolha), assinale a alternativa INCORRETA: 
Alternativas
Q4057671 Algoritmos e Estrutura de Dados
A análise da complexidade de algoritmos permite prever o desempenho de sistemas computacionais conforme o volume de dados aumenta. Acerca do assunto, registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)O algoritmo de busca binária exige que o conjunto de dados esteja previamente ordenado para funcionar corretamente em tempo logarítmico.
(__)O QuickSort apresenta sua pior performance, com complexidade quadrática, quando o pivô escolhido é repetidamente o menor ou o maior elemento da lista.
(__)O algoritmo Bubble Sort é classificado como estável, o que significa que ele preserva a ordem relativa de elementos com chaves de ordenação idênticas.
(__)A busca sequencial é tecnicamente impossível de ser realizada em listas que contenham elementos do tipo ponto flutuante de precisão dupla.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas
Q4159911 Algoritmos e Estrutura de Dados
Em estruturas de dados, diversos algoritmos de ordenação podem ser utilizados, cada um com características específicas quanto à eficiência e complexidade. Um desses algoritmos segue a estratégia “dividir para conquistar”, dividindo recursivamente o vetor em partes menores, ordenando essas partes e depois mesclando os resultados em uma sequência final ordenada. O enunciado refere-se ao algoritmo 
Alternativas
Q4097657 Algoritmos e Estrutura de Dados
A ordenação organiza os dados de uma coleção em uma ordem específica, geralmente crescente ou decrescente, buscando facilitar a busca e outras operações. Dessa forma, assinale a alternativa CORRETA.
Alternativas
Q4097656 Algoritmos e Estrutura de Dados
Considere um funcionário em um mercantil que deseja organizar uma prateleira de produtos em ordem crescente de preço, da esquerda para a direita. Para isso, ele passa repetidamente pela prateleira do primeiro ao último produto, comparando pares adjacentes e trocando-os sempre que o produto da direita for mais barato que o da esquerda. A cada passagem completa, o produto de maior preço é movido até a última posição, e na vez seguinte ele só compara até a posição anterior, pois o final já está ordenado. O processo continua até que, em uma passagem, nenhuma troca seja necessária, garantindo que todos os produtos estejam organizados do mais barato para o mais caro. Nesse sentido, o nome do algoritmo de ordenação empregado pelo funcionário para organizar os produtos é:
Alternativas
Q3373666 Algoritmos e Estrutura de Dados
Qual característica do algoritmo QuickSort o torna eficiente para ordenação de grandes conjuntos de dados? 
Alternativas
Q3299575 Algoritmos e Estrutura de Dados
Um algoritmo de ordenação é estável quando preserva a ordem relativa de elementos com chaves iguais. São exemplos de algoritmos de ordenação estáveis:
Alternativas
Q3218891 Algoritmos e Estrutura de Dados
Considere o algoritmo de ordenação para um vetor de inteiros em linguagem Javascript descrito a seguir:

sort = (array) => {         if (array.length <= 1) {                 return array;         }         const pivot = array[array.length - 1];         const left = [];         const right = [];         for (let i = 0; i < array.length - 1; i++) {                 if (array[i] < pivot) {                         left.push(array[i]);                   } else {
                        right.push(array[i]);                 }         }         return [...sort(left), pivot, ...sort(right)];
}

Considerando n como o tamanho do vetor, assinale a alternativa CORRETA que corresponde à complexidade média de tempo do algoritmo na notação Big-O:
Alternativas
Q3205761 Algoritmos e Estrutura de Dados
Os algoritmos de ordenação são ferramentas essenciais na programação e em ciência da computação, pois permitem a organização eficiente de dados. A escolha do algoritmo apropriado depende de fatores como o tamanho da lista, a natureza dos dados e a necessidade de eficiência em termos de tempo e espaço.

Sendo assim, sobre os algoritmos de ordenação, podemos afirmar que

I. Bubble sort é um algoritmo de ordenação simples e muito eficiente para grande conjunto de dados.
II. Insertion sort é um algoritmo de ordenação utilizado para um pequeno número de elementos.
III. Quick sort é um algoritmo de ordenação mais rápido, que emprega a técnica de divisão e conquista.
IV. Selection sort recebe esse nome pela maneira como ele percorre o array ao longo das iterações: ele seleciona o menor elemento atual e o troca de lugar.

Estão corretas apenas as afirmativas
Alternativas
Q3187348 Algoritmos e Estrutura de Dados
Durante a análise e o desenvolvimento de sistemas no Tribunal de Justiça do Estado de Rondônia (TJRO), é essencial garantir a eficiência das operações de armazenamento e recuperação de dados. Uma das formas de otimizar essas operações é por meio de algoritmos de ordenação e busca. O conhecimento sobre a complexidade de algoritmos e a escolha da estrutura de dados mais adequada para um determinado problema impacta diretamente no desempenho do sistema. Sobre a complexidade dos algoritmos de ordenação, busca e respectivas estruturas de dados, assinale a afirmativa INCORRETA.
Alternativas
Ano: 2025 Banca: FGV Órgão: PC-MG Prova: FGV - 2025 - PC-MG - Perito Criminal - Área II |
Q3173013 Algoritmos e Estrutura de Dados
A análise da complexidade de algoritmos é essencial para avaliar seu desempenho e eficiência, especialmente em cenários com grandes volumes de dados.
Assinale a opção que representa a complexidade O (n log n) mais comummente observada em algoritmos de ordenação eficientes.
Alternativas
Q4197636 Algoritmos e Estrutura de Dados
Considere o código a seguir:
public class HeapSort {  public void heapSort(int arr[]) {  int n = arr.length;  for (int i = n / 2 - 1; i >= 0; i--) {  heapify(arr, n, i);  }  for (int i = n - 1; i > 0; i--) {  int temp = arr[0];  arr[0] = arr[i];  arr[i] = temp;  heapify(arr, i, 0);  }  }  void heapify(int arr[], int n, int i) {  int maior = i;  int esquerda = 2 * i + 1;  int direita = 2 * i + 2;  if (esquerda < n && arr[esquerda] > arr[maior]) {  maior = esquerda;  }  if (direita < n && arr[direita] > arr[maior]) {  maior = direita;  }  if (maior != i) {  int temp = arr[i];  arr[i] = arr[maior];  arr[maior] = temp;  heapify(arr, n, maior);  }  }  public static void main(String args[]) {  int arr[] = {12, 11, 13, 5, 6, 7};  int n = arr.length;  HeapSort heapSort = new HeapSort();  heapSort.heapSort(arr);  System.out.println("Array ordenado: ");  for (int i : arr) {  System.out.print(i + " ");  }  } }
Considerando o algoritmo apresentado, qual é a principal característica deste algoritmo de ordenação?
Alternativas
Q4197634 Algoritmos e Estrutura de Dados
O Bubble Sort é um algoritmo simples de ordenação que percorre repetidamente a lista, compara elementos adjacentes e os troca se estiverem na ordem errada. Esse processo é repetido até que a lista esteja ordenada. Considerando essas informações e o uso do algoritmo Bubble Sort, qual das seguintes afirmações é verdadeira? 
Alternativas
Ano: 2024 Banca: INEP Órgão: INEP Prova: INEP - 2024 - INEP - Computação |
Q4149063 Algoritmos e Estrutura de Dados
Um professor de Computação ministrou algumas aulas para alunos do 8º ano do Ensino Fundamental e verificou que eles conseguiram compreender o funcionamento de alguns algoritmos de ordenação. Diante disso, o professor solicitou que os estudantes produzissem vídeos explicando situações de uso de algoritmos de ordenação, a partir de alguns problemas que deveriam solucionar, tal como a organização, em ordem crescente, dos nomes dos alunos da própria sala de aula. Para isso, dividiu as turmas em grupos, e cada grupo propôs a implementação de um algoritmo.

Para a concretização da tarefa descrita, a proposta adequada nessa turma é a implementação do algoritmo de ordenação
Alternativas
Q3237770 Algoritmos e Estrutura de Dados
O Bubble Sort, também conhecido como método bolha, é um algoritmo utilizado para organizar uma sequência de números ou outros elementos em ordem crescente ou decrescente. A implementação percorre a sequência de itens ordenáveis e faz a troca, quando necessária. Nesse sentido, para ordenar, de modo crescente, o array {11, 5, 7, 3, 2, 1}, utilizando o método bolha, serão necessárias
Alternativas
Q3172921 Algoritmos e Estrutura de Dados
Considere o conceito de complexidade polinomial, definido como O(p(n)), onde p(n) é um polinômio e O representa o limite superior da complexidade de um algoritmo. Algoritmos que pertencem à classe P são aqueles que possuem soluções algorítmicas cuja complexidade é limitada por um polinômio de grau k, ou seja, O(nk) para alguma constante k.
Esse tipo de problema é considerado solucionável em tempo "razoável" ou eficiente. Dado esse contexto, analise as afirmativas a abaixo sobre a classe P e a complexidade polinomial.
I. Algoritmos de ordenação como a ordenação por inserção têm uma complexidade polinomial de O(n 2 ), o que os coloca na classe P.
II. A classe P engloba todos os problemas que podem ser resolvidos por algoritmos em tempo polinomial, independente de hardware.
III. Algoritmos de pesquisa binária, embora eficientes, não são classificados como pertencentes à classe P, pois sua complexidade é logarítmica, e não polinomial.
IV. Um algoritmo que possui uma complexidade de tempo O(n k ), onde k é constante, resolve o problema no pior caso em tempo polinomial e, portanto, pertence à classe P.
Estão corretas as afirmativas:
Alternativas
Q3152389 Algoritmos e Estrutura de Dados
Em uma situação na qual um sistema deve ser executado em tempo real, o tempo de resposta torna-se uma métrica em foco. Um problema comum no dia a dia é o ordenamento de dados. Assinale a alternativa correspondente ao algoritmo de ordenamento que seria o mais indicado, tendo em vista que o objetivo é obter o menor tempo de execução para grandes bases de dados, considerando o cenário de pior caso e a notação Big O.
Alternativas
Respostas
1: A
2: A
3: D
4: D
5: A
6: E
7: C
8: C
9: B
10: A
11: B
12: D
13: B
14: C
15: B
16: C
17: B
18: A
19: A
20: D