Filtrar


Questões por página:
Considere as seguintes definições relacionadas a algoritmos de ordenação e assinale a alternativa que identifica corretamente as três definições, considerando sua ordem.
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.
Uma forma comum para representar algoritmos é a chamada “Descrição Narrativa”. Sobre o tema, assinale a alternativa CORRETA.
Sobre a complexidade dos algoritmos, analise as sentenças abaixo:

I- Pode-se expressar de forma abstrata a eficiência de um algoritmo, descrevendo o seu tempo de execução como uma função do tamanho do problema (quantidade de dados); isto é chamado de complexidade de tempo.

II- Straight Selection é o mais primitivo método de ordenação de um vetor. A ideia desse método é percorrer um vetor de n posições n vezes, a cada vez comparando dois elementos e trocando-os caso o primeiro seja maior que o segundo.

III- Bubblesort é uma forma intuitiva de ordenar um vetor, escolhendo o menor elemento do vetor e trocando com o primeiro elemento. Em seguida o segundo, escolhendo o menor dentre os restantes, e assim até o último elemento.

Estão CORRETAS:
mostrar texto associado
A principal diferença entre o while e o do é que o teste condicional, no caso do while, é feito após executar o código interno ao loop. Já no loop do, o corpo do loop é executado várias vezes, no fim do loop.
Em relação aos algoritmos de ordenação, avalie se são verdadeiras (V) ou falsas (F) as afirmativas a seguir:
I O algoritmo quicksort é muito eficiente quando temos uma quantidade pequena de elementos a ordenar. II O algoritmo shell utiliza intensamente a inserção direta. III No algoritmo bubble sort o número de variáveis envolvidas é pequeno.
As afirmativas I, II e III são, respectivamente: