Pular para o conteúdo

Pesquisa Binária

Este programa ilustra o algoritmo de pesquisa binária, que é o algoritmo de pesquisa mais rápido para dados ordenados (crescente / decrescente).

Espero que ajude alguém algum dia ;)

Enzo de Brito Ferber EnzoFerber
Hits: 10.848 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Este programa ilustra o algoritmo de pesquisa binária, que é o algoritmo de pesquisa mais rápido para dados ordenados (crescente / decrescente).

Espero que ajude alguém algum dia ;)

Download binsearch.c Enviar nova versão

Esconder código-fonte

// binsearch.c

#include <stdio.h>
#include <stdlib.h>

int bin_search (int *vet, int info, int size)
{
   int low=0, mid, high=(size - 1);

   while (low <= high)
   {
      mid = (low + high) / 2;
      if (vet[mid] == info) return mid;
      if (vet[mid]  > info) high = mid - 1;
      if (vet[mid]  < info) low  = mid + 1;
   }

   return (-1);
}

int main (int argc, char **argv)
{
   int info, i;
   int *vet;

   if (argc < 3)
   {
      printf("Uso: %s <tamanho_vetor> <info>\n", argv[0]);
      return 0;
   }

   // argv[1] >> tamanho do vetor
   // argv[2] >> informacao procurada no vetor
   
   vet  = (int*) malloc ( atoi(argv[1]) * sizeof(int));
   info = atoi(argv[2]);

   for (i = 0; i < atoi(argv[1]); i++) *(vet+i) = (i + 1);

   printf("Posicao de %d: %d\n", info, bin_search(vet, info, atoi(argv[1]) ));

   return 0;
}

Números randômicos

VALIDAR CPF EM C++ POO

Calculadora de I.M.C

Utilizando ponteiros na manipulação de strings

Conversor de Temperaturas

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.