A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Frederico Brito Fernandes Algoritmos de Ordenação CONTEÚDO (1) Auto-avaliação (2) Ordenação de Dados (3) Ordenação por troca:

Apresentações semelhantes


Apresentação em tema: "Prof. Frederico Brito Fernandes Algoritmos de Ordenação CONTEÚDO (1) Auto-avaliação (2) Ordenação de Dados (3) Ordenação por troca:"— Transcrição da apresentação:

1 Prof. Frederico Brito Fernandes Algoritmos de Ordenação CONTEÚDO (1) Auto-avaliação (2) Ordenação de Dados (3) Ordenação por troca: bubble sort

2 Frederico Brito Fernandes 2 Estrutura, Pesquisa e Ordenação de Dados Ordenação/Classificação Antes de prosseguir: –Faça o acompanhamento das variáveis, conforme explicado na aula passada, para realiazar uma pesquisa binária buscando as chaves: 5 12 –Implemente o algoritmo de buscaBinária de forma recursiva, e faça o acompanhamento novamente (1) Auto-avaliação vetiniciofimmeiovet[i]vet[i+1]chave

3 Frederico Brito Fernandes 3 Estrutura, Pesquisa e Ordenação de Dados Ordenação/Classificação Temos basicamente duas formas de realizar ordenação: –ou inserimos os elementos na estrutura de dados respeitando a ordenação (dizemos que a ordenação é garantida por construção); –ou a partir de um conjunto de dados já criado, aplicamos um algoritmo para ordenar seus elementos. (2) Ordenação

4 Frederico Brito Fernandes 4 Estrutura, Pesquisa e Ordenação de Dados Ordenação Bolha (Bubble Sort) A idéia fundamental é fazer uma série de comparações entre os elementos do vetor. Pares de elementos do vetor são comparados dois a dois (e eventualmente trocados) até o final do vetor. Quando dois elementos estão fora de ordem, esses dois elementos são trocados de posição, ficando em ordem correta. O processo é repetido até que nenhuma troca seja feita (3) Ordenação por troca

5 Frederico Brito Fernandes 5 Estrutura, Pesquisa e Ordenação de Dados Pseudocódigo Algorithm Bubble_Sort(X, n) Input array X of n integers Output array X sorted in a non-decreasing order for i 0 to n 1 do for j i+1 to n-1 do if (X[i]>X[j]) then s X[i]; X[i] X[j]; X[j] s; return X // after i-th round, the i-th smallest number is at i-th position. O(n 2 ) (3) Ordenação por troca

6 Frederico Brito Fernandes 6 Estrutura, Pesquisa e Ordenação de Dados Código em C (outra versão do bubble sort) #include #define MAX 10 void troca(int i, int j, int v[]){ int aux= v[i]; v[i]=v[j]; v[j]=aux; } void bubbleSort(int v[], int n){ int i=0; while (iv[i+1]){ troca(i,i+1,v); i=0; } else i++; } void imprimeVetor(int v[], int n){ for (int i=0;iv[i+1]){ troca(i,i+1,v); trocou=1; } i++; } if (trocou==1) bubbleRecursivo(v, n); } main(){ int qtde=MAX; int vet[MAX] = {1,5,7,2,8,3,6,12,4,10}; printf("\nVetor Original:\n"); imprimeVetor(vet,qtde); bubbleSort(vet,qtde); //bubbleSortRecursivo(vet,qtde); printf("\nVetor Ordenado:\n"); imprimeVetor(vet,qtde); } (3) Ordenação por troca


Carregar ppt "Prof. Frederico Brito Fernandes Algoritmos de Ordenação CONTEÚDO (1) Auto-avaliação (2) Ordenação de Dados (3) Ordenação por troca:"

Apresentações semelhantes


Anúncios Google