Você está na página 1de 8

Slide 1

TPO-II

Introduo
Existe uma variedade enorme de mtodos de pesquisa. A escolha do mtodo de pesquisa mais adequado a determinada aplicao depende principalmente:
Da quantidade de dados envolvidos; De o arquivo estar sujeito a inseres e retiradas frequentes, ou de o contedo do arquivo ser praticamente estvel (nesse caso, importante minimizar o tempo de pesquisa, sem preocupao com o tempo necessrio para estruturar o arquivo).

importante considerar os algoritmos de pesquisa como Tipos Abstratos de Dados, com um conjunto de operaes associado a uma estrutura de dados.
Inicializar a estrutura de dados; Pesquisar um ou mais registros; Inserir um novo registro; Retirar um registro especfico.

Slide 2

TPO-II

Pesquisa Sequencial
Mtodo mais simples: a partir do primeiro registro, pesquise sequencialmente at encontrar a chave procurada; ento pare. Representaremos por meio de estruturas, onde cada registro contm um campo chave que identifica o mesmo. O Tipo Abstrato de Dados construdo por ns ser o Seq, com as seguintes operaes:
New_Seq cria espao em memria para a estrutura Insere insere um novo elemento Pesquisa pesquisa por uma chave passada

Slide 3

TPO-II

Anlise da Complexidade
Melhor Caso: C(n) = 1 Pior Caso: C(n) = n Caso Mdio: C(n) = n/2 Para uma pesquisa sem sucesso: C(n) = n

Slide 4

TPO-II

Exerccio Pesquisa Sequencial


Criar um programa:
Que possua opo de criar um arquivo com n registros (de nmeros inteiros) Que leia o arquivo com n registros (de nmeros inteiros) e armazene em uma estrutura (vetor); Que tenha opo de imprimir a memria; Que tenha opo de pesquisar por um registro (o programa emitir uma mensagem informativa se encontrou ou no o registro); Que tenha opo de inserir um novo registro; Que tenha opo de excluir um registro (excluso lgica).

Slide 5

TPO-II

Pesquisa Binria
Mtodo muito mais eficiente; Custo para manter os elementos ordenados; Idia: comparar a chave pesquisada com o registro que est na posio do meio da estrutura. Se a chave for menor, ento o registro est na primeira metade da estrutura; se a chave for maior, ento o registro est na segunda metade da estrutura. Repita o processo at que a chave seja encontrada ou reste apenas um registro em que a chave diferente da procurada.
Exemplo: Procurando a chave 55. Chaves iniciais: 3 9 12 20 29 32 55 100 3 9 12 20 29 32 55 100 29 32 55 100 55 100 Slide 6

TPO-II

Anlise da Complexidade
A cada iterao do algoritmo, o tamanho da tabela dividido ao meio. Logo, o nmero de vezes que o tamanho da tabela dividido ao meio cerca de log n. Entretanto, o custo para manter a tabela ordenada alto: cada insero na posio p da tabela implica o deslocamento dos registros a partir da posio p para as posies seguintes. Consequentemente, a pesquisa binria no deve ser usada em aplicaes muito dinmicas.

Slide 7

TPO-II

Exerccio Pesquisa Binria


Criar um programa:
Que possua opo de criar um arquivo com n registros (de nmeros inteiros) Opo que leia o arquivo com n registros e armazene em uma estrutura (vetor), na ordem contida no arquivo; Opo que leia o arquivo com n registros e insere em uma estrutura (vetor), de forma ordenada; Que tenha opo de imprimir a memria; Que tenha opo de pesquisar por um registro (o programa emitir uma mensagem informativa se encontrou ou no o registro); Que tenha opo de inserir um novo registro; Que tenha opo de excluir um registro (excluso lgica); Opo de ordenar a memria (escolher o mtodo de ordenao que achar melhor). TPO-II

Slide 8

Você também pode gostar