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

Questões Discursivas

Foram encontradas 275 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
Q4098360 Algoritmos e Estrutura de Dados
Em problemas que envolvem dependência entre tarefas ou pré-requisitos, é necessário garantir que determinados elementos sejam executados antes de outros. Para isso, utiliza-se a Ordenação Topológica. Assinale a alternativa que correta a respeito desse procedimento.
Alternativas
Q4071623 Algoritmos e Estrutura de Dados
A Ordenação por Inserção (Insertion Sort) é um algoritmo eficiente para ordenar um número pequeno de elementos (Cormen et al., 2024). Em cada passo, a partir de i = 2, o i-ésimo elemento da sequência é transferido para o seu lugar apropriado no arranjo (vetor).

Sobre o método de ordenação por inserção, assinale a alternativa INCORRETA:
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
Ano: 2025 Banca: INEP Órgão: INEP Prova: INEP - 2025 - INEP - Computação |
Q4146124 Algoritmos e Estrutura de Dados
Texto para questão


Um professor de Computação pretende ensinar algoritmos de ordenação e decide utilizar o Merge Sort, que consiste em dividir uma lista recursivamente até obter listas com um único elemento e combinar as listas ordenando os elementos até reconstruir a lista original. Por ser um exemplo clássico da técnica de divisão e conquista, seu objetivo é proporcionar aos estudantes uma experiência de aprendizagem em que percebam, de forma prática, como problemas complexos podem ser compreendidos e resolvidos por meio da reestruturação em tarefas mais simples. Além disso, o professor percebe que pode relacionar o conteúdo a conceitos matemáticos, estabelecendo conexões que favorecem o raciocínio lógico.
A abordagem Computação Desplugada para ensinar algoritmos de ordenação e promover a compreensão prática dos conceitos deve propor que os estudantes
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
Q3684241 Algoritmos e Estrutura de Dados

Julgue o próximo item, a respeito de computação e estrutura de dados. 


Ao se utilizar o método de ordenação por seleção, sempre serão necessárias 10 comparações para ordenar um conjunto com cinco elementos.

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
Q3298838 Algoritmos e Estrutura de Dados

Considere o seguinte código Python que implementa um método de ordenação:


Imagem associada para resolução da questão


Qual método de ordenação é implementado no código acima?

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
Respostas
1: A
2: A
3: D
4: E
5: D
6: D
7: A
8: E
9: D
10: C
11: C
12: C
13: B
14: A
15: C
16: B
17: D
18: B
19: C
20: B