Questões de Concurso
Comentadas sobre algoritmos de ordenação em algoritmos e estrutura de dados
Foram encontradas 185 questões
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Em cada passo do método de ordenação conhecido como quick sort, cada elemento do vetor é comparado com o seu sucessor. Nessa comparação, os dois elementos comparados serão trocados de posição caso estejam fora de ordem
1. Escolha um elemento que será chamado o pivot da lista.
2. Reordene a lista de tal forma que os elementos menores que o pivot venham antes dele e os elementos maiores ou iguais ao pivot venham depois dele. Essa operação é chamada de partição, e cria duas sublistas:
a. a de menores que o pivot e
b. a de maiores ou iguais ao pivot.
3. Aplique recursivamente os passos 1 e 2 às sublistas de menores e maiores que o pivot.
O algoritmo acima corresponde ao
O método quicksort é semelhante ao bubble sort, pois opera comparando cada elemento de um vetor com seu sucessor e, caso este esteja fora de ordem, o quicksort auxilia a troca da posição. Dessa forma, em ambos os métodos, é grande o número de comparações e trocas para execução de vetores extensos.
public class InsertionSort
{
public int[] iSort(int[] input)
{
for (int i = 1; i < input.Length; i++)
{
int key = input[i];
int j = i - 1;
while (j >= 0 && input[j] > key)
{
input[j + 1] = input[j];
j--;
}
input[j + 1] = key;
}
return input;
}
}
A implementação realiza um procedimento de ordenação sobre um vetor de números inteiros. Ao final da ordenação, o vetor ordenado é apresentado no monitor.
Assinale a alternativa que apresenta o método de ordenação utilizado.
Quantas trocas e comparações foram realizadas, respectivamente, por cada um?
Por característica, o algoritmo quicksort apresenta melhor desempenho que o merge sort.
Durante o processo de classificação, é possível gerar-se um vetor indireto de ordenação (VIO), cuja principal vantagem relaciona-se à possibilidade de realização da movimentação das entradas da tabela, a partir de suas posições originais, para a ordenação dos dados.
O método da bolha é um exemplo de classificação por seleção efetivada pela seleção contínua do menor valor de uma chave contido em determinado vetor.
Independentemente do vetor de entrada, o algoritmo Quick Sort divide o vetor ao meio, ordenando cada metade recursivamente e intercalando as duas metades ordenadas.
17, 43, 37, 31, 8, 77, 52, 25.
Se a sequência original for a iteração zero, qual será a sequência de números da segunda iteração?