Métodos de Ordenação e Busca Ordenação Ordenação - bolha Ordenação - Bolha Ordenação - Bolha Métodos de Busca Busca Sequencial – vetor não ordenado Busca Sequencial – vetor não ordenado Int busca(int n, int *vet, int elem) { int i = 0; while (i < n && vet[i] != elem) i++; if (i == n) return -1; // elemento não encontrado else return i; //elemento na posição i } Análise da Busca Sequencial Busca Sequencial em Vetor Ordenado Análise da Busca Sequencial – vetor ordenado Busca Sequencial em Vetor Ordenado int busca_ord(int n, int *vet, int elem) { if (elem<vet[0] && elem>vet[n-1]) // teste extremos do vetor return -1; // elemento não está no vetor i = 0; while (vet[i] < elem) i ++; if ( vet[i] == elem) // encontrou o elemento return i; // na posição i else return -1; // elemento não está no vetor } Busca Binária 4 7 8 inicio meio fim 0 5 11 Elem = 22 10 14 21 22 36 62 77 81 91 22 >21, inicio = meio +1 4 7 8 inicio meio fim 6 8 11 10 14 21 22 36 62 77 81 91 22 < 62, fim= meio -1 4 7 8 inicio meio fim 6 6 7 10 14 21 22 36 62 77 81 91 22 = 22, o elem está na posição meio