1) Ordenar é um processo de rearranjar um conjunto de objetos em uma ordem ascendente/crescente ou descendente/decrescente. Qual a importância da ordenação para qualquer processo e para informática? Dê exemplos práticos de utilização. Defina a complexidade dos métodos de ordenação e a sua classificação.
O objetivo principal da ordenação é facilitar a organização e a localização posterior de dados do conjunto ordenado. Pode-se citar uma lista telefônica. Imagine como seria consultar o telefone de uma pessoa se os nomes não estivessem classificados em ordem alfabética. Para algoritmos de ordenação interna, as medidas de complexidade relevantes contam o número de comparações entre chaves e o número de movimentações de itens do arquivo, os métodos de ordenação são classificados em dois grandes grupos: ordenação interna e externa.
2) Qual é a classificação dos métodos de ordenação? Qual a diferença entre eles? Quais são os métodos de ordenação mais utilizados ou principais?
1-ordenação interna: São os métodos que não necessitam de uma memória
2-Ordenação externa : Quando o arquivo a ser ordenado não cabe na memória principal e , por isso , tem de ser armazenado em fita ou disco .
ShellSort , QuickSort , HeapSort e MergeSort são considerados mais eficientes .
3) A ordenação pelo método bolha é um dos mais simples. Qual a principal característica do método ou como ele funciona?
O algortimo de “ordenação bolha”, ou “bubble sort”, recebeu este nome pela imagem pitoresca usada para descrevê-lo: os elementos maiores são mais leves, e sobem como bolhas até suas posições corretas.
A idéia fundamental é fazer uma série de comparações entre os elementos do vetor.
Quando dois elementos estão fora de ordem, há uma inversão e esses dois elementos são trocados de posição.
Assim, o primeiro elemento é comparado com o segundo. Se uma inversão for encontrada, a troca é feita.
. O processo continua até que o penúltimo elemento seja comparado com o último.
4) Qual é a classificação do método bolha? Qual o seu grau de complexidade?
O BubbleSort é um método de simples implementação e de ordem de complexidade quadrática.
5) Dê exemplo de aplicação do método bolha, com as comparações, trocas e iterações.
6) Demonstre o código-fonte do método bolha e comente o mesmo.
/* Ordenação bolha */
void bolha (int n, int* v)
{
int i,j,temp;
for (i=n-1; i>=1; i--)
for (j=0; j
if (v[j]>v[j+1]) { /* troca */
temp = v[j];
v[j] = v[j+1];
v[j+1] = temp;
}
}
Na quinta linha do código verifica-se os dois elementos se estão desordenados. Se os elementos não estiverem ordenados a troca exige uma variável de armazenamento temporário (temp = v[j+1];) do mesmo tipo que a dos elementos do array que está sendo ordenado.
Nenhum comentário:
Postar um comentário