O espectro de aplicação de vetores em algoritmos é muito extenso, mas normalmente os vetores são usados em duas tarefas muito importantes no processamento de dados: pesquisa e classificação.
A pesquisa consiste na verificação da existência de um valor dentro de um vetor. Trocando em miúdos, pesquisar um vetor consiste em procurar dentre seus componentes um determinado valor.
A classificação de um vetor consiste em arranjar seus componentes numa determinada ordem, segundo um critério específico. Por exemplo, este critério pode ser a ordem alfabética de um vetor de dados caracter, ou então a ordem crescente ou decrescente para um vetor de dados numéricos. Há vários métodos de classificação, mas o mais conhecido é o método da bolha de classificação (Bubble Sort).
O Método da Bolha de Classificação
Este método não é o mais eficiente, mas é um dos mais populares devido à sua simplicidade.
A filosofia básica deste método consiste em “varrer” o vetor, comparando os elementos vizinhos entre si. Caso estejam fora de ordem, os mesmos trocam de posição entre si. Procede-se assim até o final do vetor. Na primeira “varredura” verifica-se que o último elemento do vetor já está no seu devido lugar (no caso de ordenação crescente, ele é o maior de todos). A segunda “varredura” é análoga à primeira e vai até o penúltimo elemento. Este processo é repetido até que seja feito um número de varreduras igual ao número de elementos a serem ordenados menos um. Ao final do processo o vetor está classificado segundo o critério escolhido.
O exemplo a seguir ilustra o algoritmo bubble sort para ordenar 50 número inteiros em ordem crescente, fazendo a comparação iniciando do primeiro elemento até o penúltimo, comparando com o imediatamente seguinte, até o último elemento:
Algoritmo Variação_do_Bubble_Sort
Inicio
numeros : matriz [1..50] de inteiros
inteiro: aux, i, j;
Para i de 1 até 50 faça
Início
Ler numeros[i];
Para i de 1 até 49 faça
Início
Para j de i + 1 até 50 faça
Início
Se numeros[i] > numeros[j] então
Início
aux := numeros[i];
numeros[i] := numeros[j];
numeros[j] := aux;
Fim;
Fim;
Fim;
Escreva (“vetor ordenado”);
Para i de 1 até 50 faça
Início
Escrever numeros[i];
Fim;
Fim.
Podemos observar também que para ordenar o vetor em ordem decrescente basta inverter o sinal de comparação no teste da condição lógica Se numeros[i] > numeros[j], para: Se numeros[i] < numeros[j].
*Fonte de pesquisa: www.apostilando.com
segunda-feira, 11 de agosto de 2008
Aplicação de Vetores
Postado por ESTRUTURA COMPOSTA DE DADOS às 14:01
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário