Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

O Desenvolvimento de sistema para análise de performance de algoritmos de ordenação de dados

Por:   •  24/12/2018  •  6.291 Palavras (26 Páginas)  •  409 Visualizações

Página 1 de 26

...

escolhida nesse projeto, o Java. Sua compreensão manual é muito complexo e seria necessário muita pesquisa para ser feita a mão, após muita pesquisa de implementação e como o Buuble Sort funciona, tivemos muita dificuldade em implementa-la na linguagem Java, pois a preenchemos com dados de um banco de dados, através de um vetor. Para uma visão mais ampla desse algoritmo de ordenação, está seguinte forma em linguagem:

public Vector<Vector> bubbleSort(Vector<Vector> Orde) {

(Aqui é o nome e o parametro do método, como observação passamos como parametro um Vector, aonde estão os dados a serem passados, assim também como seu retorno)

for (int i = Orde.size(); i >= 1; i--) {

( Aqui começa o primeiro laço para dar apoio ao decorrer do vetor, Controlando o índice)

for (int j = 1; j < i; j++) {

if (Integer.parseInt(Orde.get(j - 1).get(0).toString()) > Integer.parseInt(Orde.get(j).get(0).toString())) {

(Nesse ’If’ ele faz a comparação do elemento maior para o menor para a ordenação necessária, alterando e mudando valores de respectivas posições)

Vector aux = Orde.get(j);

(Nessa linha ele criar uma variável auxiliar para guardar o elemento proposto no índice do ’If’)

Orde.set(j,Orde.get(j-1));

Orde.set(j-1,aux);

( E aqui ele termina a ordenação e pula para o próximo elemento do ’for’)

}

}

}

return Orde;

( No codigo ’Return Orde’, ele retorna todos os dados ordenados em um vetor)

}

Assim como no BubbleSort, o MergeSort teve uma grande necessidade de pesquisa e esforço para sua implementação, como sendo um dos algoritmos de ordenação mais complexos e elaborado, suas desvantagens faz jus ao esforço dado para ser usado, Merge Sort divide a sequência original em pares de dados, agrupa estes pares na ordem desejada; depois as agrupa as sequências de pares já ordenados, formando uma nova sequência ordenada.Para uma visão mais ampla desse algoritmo de ordenação, está seguinte forma em linguagem :

public void merge(Vector<Vector> Orde, int l, int m, int r)

( Nesta Linha está a chamada do método assim como seus parâmetros e retorno, percebe-se que passamos um vector e 3 variáveis de inteiro para que fosse utilizadas na operação de ordenação)

{

int n1 = m - l + 1;

int n2 = r - m;

Vector L[] = new Vector [n1];

Vector R[] = new Vector [n2];

for (int i=0; i<n1; ++i)

L[i] = Orde.get(l + i);

for (int j=0; j<n2; ++j)

R[j] = Orde.get(m + 1 + j);

int i = 0, j = 0;

int k = l;

while (i < n1 && j < n2)

{

if (Integer.parseInt(L[i].get(0).toString()) <= Integer.parseInt(R[j].get(0).toString()))

{

Orde.set(k, L[i]);

i++;

}

else

{

Orde.set(k, R[j]);

j++;

}

k++;

}

while (i < n1)

{

Orde.set(k, L[i]);

i++;

k++;

}

while (j < n2){

j++;

k++;

}

}

( Na chamado Método Merge que faz parte do algoritmo de ordenação MergeSort, como um princípio chamativo e com destaque diferencias dentre outros é o "Dividir e Conquistar", por esse motivo temos dois métodos diferentes, no Merge seria a parte de dividir, ou seja, aqui ele dividido a sub conjuntos dos elementos do vetor e ordena)

public Vector<Vector> sort (Vector<Vector> Orde){

Orde = sort(Orde, 0, Orde.size()-1);

return Orde;

}

Vector<Vector> sort(Vector<Vector> Orde, int l, int r){

if (l < r)

{

int m = (l+r)/2;

sort(Orde, l, m);

sort(Orde , m+1, r);

merge(Orde, l, m, r);

}

return Orde;

}

( No Método Sort é onde ele recebe os dados e combina com os outros dados, através da recursividade para ser efetuada a ordenação passando os dados para o MergeSort)

E ao último algoritmo de ordenação implementado foi o SelectionSort, que se baseia em passar sempre o menor valor dos elementos obtidos para a primeira posição, e depois o segundo valor, repetindo isso sucessivamente até o fim dos elementos que percorre pelo algoritmo. Para esse processo ocorra ele compara com os elementos a partir da sua direita, quando encontrado

...

Baixar como  txt (39.5 Kb)   pdf (91.6 Kb)   docx (29.8 Kb)  
Continuar por mais 25 páginas »
Disponível apenas no Essays.club