Questões de Concurso
Sobre algoritmos de ordenação em algoritmos e estrutura de dados
Foram encontradas 247 questões
Considere o seguinte código Python que implementa um método de ordenação:
Qual método de ordenação é implementado no código acima?
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:
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
Assinale a opção que representa a complexidade O (n log n) mais comummente observada em algoritmos de ordenação eficientes.
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:
Considere a seguinte sequência de passos para ordenar o vetor:
O algoritmo de ordenação utilizado foi o
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?
( ) O método de busca sequencial é o método mais eficiente para buscar um elemento em um vetor ordenado.
( ) O método de ordenação por seleção é o método mais eficiente para ordenar um vetor de tamanho N.
( ) O método de ordenação por inserção é o método mais eficiente para ordenar um vetor de tamanho N.
As afirmativas são, respectivamente,
O algoritmo de ordenação mais eficiente para essa tarefa é a(o)
O algoritmo utilizado por Amanda será:
Após a terceira iteração do algoritmo de ordenação por seleção, Andrew apresentou corretamente o resultado: