Questões de Concurso sobre Heapsort (max heap)

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
13 questões encontradas
Questões por página
20
Mais recentes
 

A Secretaria de Saúde de determinado município desenvolveu um sistema para organizar a fila de pacientes em uma unidade de pronto atendimento. O sistema precisa ordenar os registros com base na prioridade de atendimento (alta, média ou baixa) e, dentro de cada nível de prioridade, ordenar os pacientes de acordo com a data e hora de chegada. Durante os testes do sistema, a equipe de TI implementou diferentes algoritmos de ordenação, analisando suas características e desempenho.


Cada um desses algoritmos foi descrito pelos programadores da seguinte forma:


Implementação 1: o algoritmo percorre repetidamente a lista, comparando e trocando elementos adjacentes até que toda a lista esteja ordenada.

Implementação 2: a lista é dividida em duas metades recursivamente, e as metades ordenadas são combinadas para formar a lista final.

Implementação 3: o algoritmo constrói a lista ordenada elemento por elemento, inserindo cada novo item na posição correta.

Implementação 4: uma estrutura de heap é utilizada para armazenar os elementos, garantindo que o maior ou menor elemento seja extraído de forma eficiente.


Com base nas descrições anteriores, assinale a alternativa que relaciona corretamente as implementações aos algoritmos de ordenação.


A

Implementação 1Quick Sort Implementação 2Heap Sort Implementação 3 Merge Sort Implementação 4Selection Sort


B

Implementação 1Bubble Sort Implementação 2Merge Sort Implementação 3Insertion Sort Implementação 4Heap Sort


C

Implementação 1Selection Sort Implementação 2Heap Sort Implementação 3Bubble Sort Implementação 4Quick Sort


D

Implementação 1Insertion Sort Implementação 2Selection Sort Implementação 3Quick Sort Implementação 4Merge Sort

O que é uma tabela Heap?


A

Esta tabela refere-se à forma como os endereços de memória são organizados em sistemas computacionais, onde os endereços são atribuídos de maneira contínua e linear.


B

Um tipo de estrutura de dados usada em bancos de dados relacionais para armazenar registros de maneira não ordenada e não indexada, onde os dados são inseridos sem qualquer ordenação prévia, e o acesso a esses dados ocorre de forma sequencial.


C

É uma técnica utilizada em sistemas de gerenciamento de banco de dados (DBMS) para dividir grandes tabelas em partes menores, chamadas de partições, com o objetivo de melhorar o desempenho, a manutenção e a gestão de dados. Cada partição é tratada como uma tabela independente, mas ainda faz parte da tabela original.


D

É uma estrutura de dados que permite armazenar e acessar dados de forma muito eficiente, utilizando uma função de hash para mapear as chaves dos dados para posições específicas de memória, chamadas de índices.


E

Uma estrutura de dados balanceada, amplamente utilizada em sistemas de gerenciamento de banco de dados e sistemas de arquivos para otimizar a busca, inserção, e remoção de dados, sendo um tipo de árvore de busca balanceada que oferece uma estrutura eficiente para armazenar grandes quantidades de dados de forma ordenada.

Heaps são estruturas de dados que permitem operações eficientes de inserção, remoção e acesso; seu uso pode melhorar significativamente a eficiência de algoritmos de ordenação.


C

Certo


E

Errado

Um analista tem disponíveis quatro algoritmos de ordenação: inserção, mergesort, heapsort e bubblesort. Como o analista não tem conhecimento sobre o tamanho do conjunto de dados e as suas condições de ordenação inicial, resolve utilizar como critério de escolha a menor complexidade do pior caso.


Considerando-se esse critério de menor complexidade do pior caso, quais seriam os dois algoritmos que o analista deve utilizar para fazer uma primeira seleção?


A

Inserção e Bubblesort


B

Mergesort e Inserção


C

Mergesort e Heapsort


D

Bubblesort e Heapsort


E

Mergesort e Bubblesort

Medir a complexidade dos métodos de ordenação é fundamental para entender o desempenho desses algoritmos e poder fazer escolhas adequadas dependendo do contexto do problema. Qual método de ordenação o pior caso tem a mesma complexidade do método Quick Sort no pior caso?


A

Heap Sort.


B

Buble Sort.


C

Merge Sort.


D

Radix Sort.

Sobre estrutura de dados e algoritmos, analise as opções a seguir e assinale a INCORRETA:


A

A pesquisa linear tem complexidade de tempo O(n) no pior caso, sendo adequada para pesquisa em vetores não ordenados ou quando o elemento procurado está próximo ao início do vetor.


B

A estrutura de dados fila de prioridade é um tipo de estrutura que permite a inserção de elementos com prioridades associadas e a operação de remoção sempre retira o elemento com a maior prioridade.


C

O algoritmo de ordenação Heap Sort utiliza uma estrutura de dados Heap para ordenar os elementos, com complexidade de tempo O ( ) no pior caso e sendo um algoritmo de ordenação in-place, ou seja, não requer memória adicional significativa além da utilizada para armazenar os dados originais.


D

O algoritmo de ordenação Radix Sort é um algoritmo de ordenação por comparação, com complexidade de tempo ( ), que ordena os elementos com base em seus dígitos individuais.


E

A estrutura de dados Trie é uma árvore de prefixos utilizada para armazenar um conjunto de strings, permitindo a busca eficiente de uma string em tempo proporcional ao seu comprimento, independentemente do tamanho do conjunto de strings armazenado.

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?


A

Utiliza um pivô para dividir o array em partições.


B

Usa uma árvore binária completa (heap) para realizar a ordenação.


C

A ordenação é baseada na comparação de elementos adjacentes.


D

Possui complexidade de tempo O(n log n) no melhor caso.

Heapsort é um algoritmo de ordenação baseado na estrutura de dados heap. Sobre as características desse algoritmo de ordenação, assinale, a afirmativa correta.


A

Heapsort é um algoritmo de ordenação estável.


B

O tempo de execução do Heapsort no pior caso é O(n log n).


C

Heapsort é um algoritmo que não pode ser implementado em uma estrutura de árvore.


D

Heapsort sempre utiliza espaço adicional, proporcional ao número de elementos na lista a ser ordenada.

O algoritmo Heapsort é um algoritmo de ordenação eficiente que utiliza uma estrutura de dados chamada heap para ordenar os elementos. Como exemplo, um sistema de monitoramento de rede pode usar Heapsort para ordenar logs de eventos de rede por timestamp, permitindo a análise cronológica dos eventos de rede. Escolha qual das seguintes afirmações é verdadeira sobre a complexidade do Heapsort e seu comportamento na prática.


A

Heapsort tem complexidade de tempo O(n log n), no pior caso, mas não é estável.


B

Heapsort tem complexidade de tempo O(n log n), no pior caso, e é estável.


C

Heapsort tem complexidade de tempo O(n2), no pior caso, mas é estável.


D

Heapsort tem complexidade de tempo O(n2), no pior caso, e não é estável.

A complexidade de algoritmos refere-se à análise e à avaliação de desempenho de um algoritmo no que se diz respeito aos recursos computacionais necessários para se resolver determinado problema. O tempo de execução do algoritmo Heapsort é


A

O(n2).


B

O(log n).


C

O(n3).


D

O(n log n).

Um heap é uma lista linear composta de elementos com chaves s1, s2, …, sn satisfazendo a seguinte propriedade: si ⩽ s⌊i/2⌋, para 1 < i ⩽ n. Seja o heap com sete chaves especificado por 92 60 78 39 28 66 70. Considere que no heap foram inseridas as seguintes chaves: 93 e 19 (nesta ordem). O heap após estas inserções é

A
92 93 19 78 60 39 28 66 70.

B
92 93 19 78 60 39 28 66 70.

C
93 70 92 66 78 60 28 19 39.

D
93 92 78 60 28 66 70 39 19.

As alternativas a seguir apresentam características dos arquivos Heap, à exceção de uma. Assinale‐a.


A

Inclusão de novos registros é muito eficiente.


B

Organização de arquivos é a mais simples e básica


C

Pesquisa de registros envolve busca sequencial bloco a bloco.


D

Para um arquivo com b blocos, uma busca envolve em média b/2 blocos.


E

Os registros são posicionados de modo ordenado através da chave de classificação.

 
 
Gerar simulado