Busca linear
(Nova página: A ser editado...) |
|||
(8 edições intermediárias de 2 usuários não apresentadas) | |||
Linha 1: | Linha 1: | ||
− | A ser | + | (CORRIGIR ERROS DE DIGITAÇÃO E ERROS DE PORTUGUÊS) |
+ | |||
+ | Busca linear e a denominação de uma estrutura capaz de realizar uma varredura de forma sequencial em uma array (vetor) a fim de encontrar um determinado elemento. Este processo ocorre de forma contínua no qual uma vairável (exemplo i) é acrescentado em seu valor uma unidade até que tenha o seu ponto de parada ao encontrar o elemento desejado. O ponto de partida é a posição inicial do vetor (exemplo V[0]) até o momento em que (V[i]==elemento_procurado) ou até o final do vetor, neste caso i é máximo, quando não é encontrado o valor na array. | ||
+ | |||
+ | Esse tipo de busca, não é considerado o mais eficaz a medida em que está mais distante do início o elemento estiver, mais sera o numro de comparações: (ver figura) | ||
+ | |||
+ | [[Imagem:Imagemdk5.jpg]] | ||
+ | |||
+ | |||
+ | A melhor opção ocorre quando o elemento a ser procurado é o V[0] ou elemento inicial do vetor, neste caso é necessário somente uma comparação.O pior resulatdo para a busca sequencial ocorre quando o elemnto esta no fim do vetor, ou (elemento_procurado==V[n]), sendo V[n] ultimo elemento do vetor, neste caso foram necessárias (n) comparações. | ||
+ | |||
+ | == Lógica == | ||
+ | |||
+ | [[Imagem:89883322ik0.jpg]] | ||
+ | |||
+ | == Implementação em C == | ||
+ | |||
+ | ''Obs: A função retorna um valor inteiro correspondente ao numero de comparações efetuadas.'' | ||
+ | |||
+ | int busca_linear (int V[],int n, int a){ | ||
+ | int i=0; | ||
+ | for(i=0;i<n;i++){ | ||
+ | if(V[i]==a){ | ||
+ | |||
+ | printf("\nValor encontrado!!! \n"); | ||
+ | return i+1; | ||
+ | |||
+ | } | ||
+ | } | ||
+ | printf("\nValor nao encontrado \n"); | ||
+ | return i; | ||
+ | } | ||
+ | |||
+ | |||
+ | a = numero a ser procurado; | ||
+ | V[]= vetor de inteiros; | ||
+ | n = tamanho do vetor; | ||
+ | |||
+ | |||
+ | == Referencias bibliográficas == | ||
+ | |||
+ | * FEOFILOFF, Paulo. Projeto de Algoritmos. Disponível em: <http://www.ime.usp.br/~pf/algoritmos/index.html>. Acesso em: 28 nov. 2008 | ||
+ | |||
+ | * PIMENTEL,Graça ; MIGHIM, Rosane. Algoritmos de Busca em Lista Estática Seqüencial.Disponível em: <http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node19.html>. Acesso em: 26 nov. 2008 | ||
+ | |||
+ | * RICARTE, Ivan L. M. Algoritimos de busca.Disponível em: <http://www.icmc.usp.br/~sce182/lestbus.html>. Acesso em: 26 nov. 2008 |
Edição atual tal como 13h49min de 4 de dezembro de 2008
(CORRIGIR ERROS DE DIGITAÇÃO E ERROS DE PORTUGUÊS)
Busca linear e a denominação de uma estrutura capaz de realizar uma varredura de forma sequencial em uma array (vetor) a fim de encontrar um determinado elemento. Este processo ocorre de forma contínua no qual uma vairável (exemplo i) é acrescentado em seu valor uma unidade até que tenha o seu ponto de parada ao encontrar o elemento desejado. O ponto de partida é a posição inicial do vetor (exemplo V[0]) até o momento em que (V[i]==elemento_procurado) ou até o final do vetor, neste caso i é máximo, quando não é encontrado o valor na array.
Esse tipo de busca, não é considerado o mais eficaz a medida em que está mais distante do início o elemento estiver, mais sera o numro de comparações: (ver figura)
A melhor opção ocorre quando o elemento a ser procurado é o V[0] ou elemento inicial do vetor, neste caso é necessário somente uma comparação.O pior resulatdo para a busca sequencial ocorre quando o elemnto esta no fim do vetor, ou (elemento_procurado==V[n]), sendo V[n] ultimo elemento do vetor, neste caso foram necessárias (n) comparações.
Lógica
Implementação em C
Obs: A função retorna um valor inteiro correspondente ao numero de comparações efetuadas.
int busca_linear (int V[],int n, int a){
int i=0; for(i=0;i<n;i++){ if(V[i]==a){ printf("\nValor encontrado!!! \n"); return i+1; } } printf("\nValor nao encontrado \n"); return i;
}
a = numero a ser procurado;
V[]= vetor de inteiros;
n = tamanho do vetor;
Referencias bibliográficas
- FEOFILOFF, Paulo. Projeto de Algoritmos. Disponível em: <http://www.ime.usp.br/~pf/algoritmos/index.html>. Acesso em: 28 nov. 2008
- PIMENTEL,Graça ; MIGHIM, Rosane. Algoritmos de Busca em Lista Estática Seqüencial.Disponível em: <http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node19.html>. Acesso em: 26 nov. 2008
- RICARTE, Ivan L. M. Algoritimos de busca.Disponível em: <http://www.icmc.usp.br/~sce182/lestbus.html>. Acesso em: 26 nov. 2008