Questões de Concurso sobre Métodos de ordenação

 
 
Disciplina 1
Assunto 8
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
 
135 questões encontradas
Questões por página
20
Mais recentes
 

Estruturas como Bubble Sort e Quicksort têm como finalidade:


A
A verificação de integridade de vetores.

B
O armazenamento de vetores.

C
A ordenação de vetores.

D
A recuperação de vetores.

E
A exclusão de vetores.

Seja o vetor A com n elementos (n>5), cujo primeiro elemento está na posição 1 e o último está na posição n. O algoritmo a seguir, que está escrito em pseudocódigo, busca ordenar o vetor A:


para i = 1 até n–1, faça

min = i

para j = i+1 até n, faça

se A[j] < A[min], então

min = j

fim-se

fim-para

temp = A[i]

A[i] = A[min]

A[min] = temp

fim-para


Essencialmente, o pseudocódigo refere-se ao algoritmo


A

ordenação por seleção.


B

ordenação por inserção.


C

ordenação por bolha.


D

Quicksort.

Considere as seguintes afirmações sobre o ciclo de vida de uma Activity, e assinale (V) para verdadeiro e (F) para falso:


( ) O método onCreate(bundle) é obrigatório e é chamado uma única vez durante todo o ciclo de vida de uma Activity.

( ) O método onStart() é chamado quando a Activity está no topo da pilha de execução.

( ) Em casos de falta de memória, o sistema operacional do Android pode decidir encerrar uma Activity que esteja parada em segundo plano.

( ) Quando uma Activity está em execução e uma ligação é recebida e atendida pelo usuário, o método onStop() é chamado.

( ) O método onDestroy() é executado quando o método finish() da classe Activity é chamado pela aplicação.


A sequência correta, de cima para baixo, é


A

V - F - V - F - F.


B

F - V - F - V - F.


C

F - F - V - V - V.


D

V - F - V - F - V.

Assinale a alternativa correta a respeito dos principais algoritmos de ordenação.


A

O algoritmo de ordenação QuickSort é um algoritmo eficiente, porém deve ser implementado visando a uma boa escolha do elemento pivô.


B

O algoritmo de ordenação por inserção tem uma implementação cara, porém com um desempenho estável.


C

O algoritmo de ordenação HeapSort é um algoritmo eficiente em relação ao tempo, porém ineficiente em relação à memória.


D

O algoritmo de ordenação ShellSort tem sua principal desvantagem quando os dados a serem ordenados estão parcialmente ordenados.


E

O algoritmo de ordenação por seleção tem uma implementação cara, porém com desempenho estável.

Observe o trecho de pseudocódigo abaixo:

Com relação à complexidade assintótica dos algoritmos comuns de ordenação, assinale a alternativa incorreta:


A

O caso médio de comparações do algoritmo MergeSort é O(n log n)


B

O pior caso de movimentações do algoritmo BubbleSort é O(n2)


C

O pior caso de comparações do algoritmo QuickSort é O (n log n)


D

O melhor caso de movimentações do algoritmo InsertionSort é O(n)

Considere a seguinte implementação na linguagem PHP do algoritmo de ordenação de vetores Insertion Sort:

O trecho de código que deve ser usado como parâmetro na estrutura de repetição for, onde há uma lacuna, para que o vetor fornecido como parâmetro seja ordenado ao final da execução desta função é:


function ordenaInsertionSort ($vetor ) {

$ tamanhhoVetor = sizeof ($vetor) ;

for(________________) {

$elemento = $vetor [$i ]

$j = $i - 1 ;

while ( $j >= && $vetor [$j] > $elemento) {

$vetor [$j+1] = $vetor [$j ];

$j --;

}

$vetor [$j + 1] = $elemento

}

return $vetor;

}


A

$i = 1; $i < $tamanhoVetor; $i++


B

$i = 1; $i > $tamanhoVetor; $i++


C

$i = 1; $i < $tamanhoVetor -1; $i++


D

$i = $tamanhoVetor; $i > $tamanhoVetor; $i--

Observe a tabela a seguir, que foi submetida a um algoritmo de ordenação:


8 7 6 5 4 3 2 1


Em algum ponto da ordenação, essa tabela se encontra da seguinte forma:


6 5 3 1 4 2 7 8


Sendo assim, segundo Szwarcfitter e Markenzon (2010), qual o método de ordenação utilizado acima?


A

Bolha.


B

Inserção.


C

Heap.


D

Mergesort.


E

Hyper.

Um algoritmo de ordenação é considerado estável quando:


A

A execução do algoritmo, mesmo com um grande volume de dados, não causa instabilidades no processador


B

A ordem relativa dos itens com chaves iguais não se altera durante a execução


C

A execução do algoritmo, mesmo com um grande volume de dados, não causa instabilidades na memória principal


D

A ordem relativa dos itens com chaves iguais se altera durante a execução

Como é denominado o método de ordenação que percorre um vetor de elementos da esquerda para a direita e que, à medida que avança, ordena os elementos à esquerda, sempre comparando o elemento atual com o seu sucessor?


A

Insertion sort


B

Selection sort


C

Quick sort


D

Merge sort

Quick Sort é um algoritmo de busca que tem por objetivo aumentar a eficiência na procura por elementos em uma estrutura de dados do tipo vetor, reduzindo a quantidade total de consultas necessárias para encontrar o elemento desejado.


C

Certo


E

Errado

A notação O descreve um limite superior e, quando a empregamos para limitar o tempo de execução do pior caso de um algoritmo, temos um limite sobre o tempo de execução do algoritmo em cada entrada.


C

Certo


E

Errado

Assinale a alternativa CORRETA.


Muitos algoritmos de ordenação de números armazenados em array necessitam fazer comparações (verificar se um número é menor, igual ou maior que outro número) e trocas (mudar a posição dos números dentro do array).


Considere o problema de ordenar um array contendo N números inteiros. Se for utilizado o Método da Bolha, qual é o menor número possível de trocas para ordenar completamente o array?


A

N


B

0 (zero)


C

N / 2 (metade de N)


D

2 x N (duas vezes N)


E

N! (fatorial de N)

Cláudia trabalha como Analista Legislativo na Assembleia Legislativa do Estado de Pernambuco e recebeu de seu chefe um arquivo com a lista de todas as Leis Orçamentárias válidas entre 1900 até o presente ano, sem nenhuma ordenação. Para melhor localizar as Leis com base no ano a qual pertencem, Cláudia implementou uma solução que, buscando agilizar este processo,


A

utilizou o algoritmo de ordenação Quicksort para ordenar as Leis em ordem crescente de ano e o algoritmo de Pesquisa Binária para localizar rapidamente o ano da Lei.


B

inseriu os dados numa fila encadeada e utilizou o algoritmo de Pesquisa Binária para localizar rapidamente o ano da Lei.


C

inseriu os dados numa pilha com alocação dinâmica e utilizou o algoritmo de Pesquisa Sequencial para localizar rapidamente o ano da Lei.


D

foi baseada numa linguagem orientada a objetos. Utilizou a função global quicksort() disponível na classe genérica ordenacao () para classificar as Leis em ordem crescente de ano.


E

utilizou o algoritmo de pesquisa avançada Hashing para localizar rapidamente as Leis diretamente do arquivo.

Um programador utilizou o código a seguir, escrito em C, para ordenar um vetor de tamanho médio.

void ordenar(int *vetor, int tamanho) {

int x , y , valor;

int intervalo= 1;

while(intervalo <tamanho) {

intervalo= 3*intervalo+1;

}

while (intervalo> 1) {

intervalo/= 3;

for(x= intervalo; x < tamanho; x++) {

valor= vetor[x];

y = x- intervalo;

while (y >= 0 && valor< vetor[y]) {

vetor [ y +intervalo]= vetor[y];

y-= intervalo;

}

vetor [y +intervalo]= valor;

}

}

}

O algoritmo em que o código se baseia utiliza um método de quebra sucessiva da sequência a ser ordenada e implementação da ordenação por inserção na nova sequência obtida , sendo denominado:


A

shellsort.


B

bubblesort.


C

heapsort.


D

quicksort.


E

mergesort.

   
Gerar simulado