Questões de Concurso
Sobre algoritmos de ordenação em algoritmos e estrutura de dados
Foram encontradas 247 questões
Assinale o código Python que executa corretamente esse algoritmo.
O quicksort é um dos algoritmos mais famosos de ordenação, o qual, por sua vez, é um tema bastante estudado na informática. Mas, qual a vantagem do quicksort afinal?
Assinale a alternativa que contém uma descrição correta sobre o algoritmo
1. O algoritmo consiste em percorrer o vetor de itens desordenados da esquerda para a direita, ordenando um item por vez. A cada passo, o item não ordenado é comparado aos itens à sua esquerda (os quais já estão ordenados) de modo a encontrar em qual posição ele deve ser colocado. Esses passos são repetidos para cada um dos itens não ordenados restantes. O algoritmo termina quando o último item do vetor é colocado na posição correta.
2. O algoritmo divide logicamente o vetor em duas partições: uma partição contendo itens ordenados, que é construída da esquerda para a direita na frente (esquerda) do vetor, e uma partição contendo itens restantes não ordenados que ocupam o resto do vetor. Inicialmente, a partição ordenada está vazia e a partição não ordenada é o próprio vetor de entrada. Em cada passo, o algoritmo encontra o menor item na partição não ordenada, trocando-o com o item não ordenado mais à esquerda da partição (colocando-o, portanto, em ordem). Então, o limite lógico entre as partições ordenada e não ordenada é incrementado em uma posição e os passos anteriores são repetidos. O algoritmo termina quando resta apenas um item a ser ordenado.
3. O algoritmo divide o problema em partes menores, resolvendo cada parte separadamente e juntando os resultados posteriormente. O vetor é dividido em duas partes iguais, sendo cada uma delas dividida em duas partes, e assim por diante, até restarem partes com um ou dois itens, cuja ordenação é trivial. Para juntar pares de partes ordenadas, os dois primeiros itens de cada parte são separados e o menor deles é selecionado e posicionado como primeiro elemento. Em seguida, os menores entre os restantes são comparados e posicionados e assim se prossegue até que todos os elementos tenham sido juntados. O procedimento é repetido até que todas as partes tenham sido tratadas.
Algoritmo "Alg1" Var num : real res : real soma : real Inicio soma <- 0 escreva("Digite um valor: ") leia(num) enquanto (num <> 0)faca res <- res + num escreva("Digite um valor: ") leia(num) fimenquanto escreva("Resultado> ", res) Fimalgoritmo
Nessa situação, será apresentado qual resultado da execução?
➢ Escolhe um elemento da lista chamado pivô. ➢ Reorganiza a lista de forma que os elementos menores que o pivô fiquem de um lado, e os maiores fiquem de outro. ➢ Recursivamente ordena a sub-lista abaixo e acima do pivô.
Assinale a alternativa correta.
Considere a figura a seguir representando um vetor e os passos de um método de ordenação interna.
Analise as afirmativas referentes ao método de ordenação interna utilizado para ordenar o vetor:
I – O método apresentado é baseado no princípio da distribuição.
II – O método apresentado requer O(n2) comparações.
III – O método apresentado é um exemplo de ordenação por seleção.
Estão CORRETAS as afirmativas:
Analise a árvore a seguir:
Seu percurso “em ordem” ( in order) será:
Julgue o item seguinte a respeito dos conceitos de algoritmo de ordenação.
O algoritmo merge sort ordena os elementos de um vetor
percorrendo este diversas vezes e, a cada passagem,
deslocando até o topo o maior elemento da sequência.
A complexidade de tempo do algoritmo bubble sort é do tipo O(n × logn), logo, no caso desse algoritmo, o tempo de execução aumenta exponencialmente com o acréscimo do valor de n.
Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo,
presente no corpo de uma página HTML.
Para que o array seja ordenado corretamente a lacuna I deve ser corretamente preenchida com