Вы находитесь на странице: 1из 13

Linguagem de programao II

ALGORITMO
DE PESQUISA


Grupo N:3
Turma: A
2 ano de Informtica


ISUTIC


ALGORTMO DE PESQUISA

Conceito:
Algortmo: a sequncia de passos finito ordenados e bem
definidos com o objectivo de dar soluo a um determinado problema.
Pode se dizer que:
Alg + Ed = Programao
logo: Alg=Programao - Ed
Define-se PESQUISA como a operao que permite encontrar ou concluir
que no existe, um dado elemento num dado conjunto(Vector ou seleo).
A pesquisa de um elemento pode ser feita num conjunto
ordenado ou no.



TIPOS DE ALGORTMOS DE PESQUISA

Existem trs tipos de Algortmos de pesquisa:

Algortmo de pesquisa Exaustivo.
Algortmo de pesquisa Sequencial (linear).
Algortmo de pesquisa Binria.




ALGORTMO DE PESQUISA EXAUSTIVO
conceito:
Algortmo usado para pesquisar um determinado
elemento em um conjunto que no est bem ordenado.
mtodo:
Consiste em percorrer sequencialmente todo o conjunto
(desde o primeiro), ate se encontrar o elemento desejado ou, no o
encontrando, se concluir que no existe.
eficincia:
Algortmo til para para vector longos e desordenados.
Melhor: Se o elemento a ser pesquisado encontra-se na primeira posio.
Pior: se o elemento a ser pesquisado encontra-se na ultima posio


CODIFICAO E ILUSTRAO

int PesquisaExaustiva (int Elem, int V[], int tam)
{
int i = 0, k = -1; // k = posio onde se encontra Elem em V
while ( (i < tam) && (k == -1) ) Ilustrao
if (Elem == V[i])
k = i;
else
i = i + 1;
if (k == -1)
return (-1);
else
return (k);
}

i < V.length
Elemento=3


Elemento==V[i]

1 17 7 5 3
i
No
i
i i
Sim
O elemento foi encontrado!!!


ALGORTMO DE PESQUISA SENQUNCIAL

Conceito:
Algoritmo usado para pesquisar um elemento em um conjunto
ordenado.
Mtodo:
Percorrer o vector da esquerda para direita Comparar a chave com
cada elemento do vector Se a chave for encontrada retorna a chave, caso contrrio
retorna o sinal negativo.

Eficincia:
Algortmo til para vector ordenados.
Algortmo intel para vectores longo.
Melhor: se a chave ficar na primeira posio.
Pior: se a chave estiver na ultima posio.






CODIGO E ILUSTRAO

int PesquisaSequencial (int Elem, int V[], int tam)
{
int j = 0, k = -1; // k = posio onde se encontra Elem em V
while ( (j< tam) && (k == -1) ) Ilustrao
if (Elem == V[i])
k = j;
else
if (V[j] < Elem)
j = j + 1;
else
k = -2;
return (k);
}

j < v.length
elemento = 3



elemento == v[j] ?


45 33 17 11
sim no
j j j j
3
j
O elemento foi encontrado!!!
fim da pesquisa


ALGORITMO DE PESQUISA BINARIA

Conceito:
Algoritmos utilizado para pesquisar um elemento em um determinado
conjunto ordenado.

Mtodo:
O mtodo de pesquisa binria acelera consideravelmente o tempo de pesquisa
diviso interativa ou recursiva do espao de procura em 2 subespaos. O seu funcionamento
at simples e baseia-se no seguinte:

Compara-se o valor da chave com o valor armazenado no meio da lista. Se o valor
armazenado nesta posio for igual ao procurado a pesquisa termina com sucesso. Caso
contrrio, se o valor da chave for menor do que o valor encontrado significa que devemos
procurar na metade anterior da lista. Se o valor procurado for maior, devemos procurar na
metade posterior da lista. Com este procedimento o nmero de elementos a serem
pesquisados reduzida a metade a cada iterao.


Eficincia:

Mais eficiente que o algoritmo de pesquisa sequencial.
Ineficiente em conjuntos desordenados e longos.
ALGORITMO DE PESQUISA BINARIA
CODIGO E ILUSTRAO
public static int Binaria ( int vet [ ], int v ) {
boolean encontrou = false;
int inf = 0, sup = vet.length - 1, meio = ( vet.length -1)/2;

while ( inf <= sup && ! encontrou )
{
meio = ( inf + sup )/2;
if ( vet [ meio ] == v )
encontrou = true;
else
{
if ( vet [ meio ] < v )
inf = meio + 1;
else
sup = meio - 1;
}
}
if ( encontrou)
return vet[meio];
else
return null;
}
51 71 42 31 25 17 15 11 7
Min Max Med
Encontre o elemento 42.
42 > 25 ento a busca pelo valor ser a direita.
Max Med
Min
O elemento 42 foi encontrado com sucesso !
Depois de varias interaes dasse o caso de:


CONCLUSO

Em palavras resumidas dizemos que os algoritmos de pesquisa so muito til
em muitos casos da programao, porque conforme o nome diz esses Algoritmos
facilita a pesquisa de elementos em conjuntos ordenados e desordenado, curtos e
longos.
Por tanto pode se afirmar que estes algoritmos fazem parte da grande
famlia de componentes necessrios para o desenvolvimento do mundo da
programao.
Referncias Bibliogrficas
http://pt.wikipedia.org/wiki/Pesquisa_binria

http://www.editoranovaterra.com.br/



http://www.ruirossi.pro.br/

Obrigado pela vossa ateno.

Вам также может понравиться