Algoritmos de Busca #1 – Busca Serial

Padrão

Há algumas semanas, comecei a postar a série de posts com algumas implementações em C de algoritmos de ordenação. Paralelamente a essa série, também vou começar a publicar algumas implementações que possuo de algoritmos de busca. Na ciência da computação, um algoritmo de busca pode ser definido como um algoritmo para encontrar um item com propriedades específicas dentre uma coleção de itens. Praticamente todos os algoritmos somente funcionam se a lista de itens estiver previamente ordenada.

Bom, esse primeiro algoritmo foge um pouco à regra dita acima, funcionando com grupos desordenados de dados. Essa técnica, talvez a única que pode ser aplicada a dados desordenados, simplesmente percorre a lista em busca do valor especificado. Nessa implementação, a função recebe a lista de itens, o tamanho da lista e o valor pesquisado, e retorna o índice do vetor no qual o item se encontra. Caso não seja encontrado o valor desejado, ele retorna -1.

int buscaSerial(int *vetor, const int tamanho, int chave)
{
   int i = 0;

   while(i < tamanho && chave != vetor[i])
      i++;

   if(i < tamanho)
      return i;

   return -1;
}

Deixe uma resposta