Pesquisa Binária
Publicado por Enzo de Brito Ferber 31/05/2008
[ Hits: 10.830 ]
Homepage: http://www.maximasonorizacao.com.br
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 ;)
// 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;
}
Exemplo de um "Jogo de Labirinto"
Progressões Aritméticas e Geométricas (PA e PG)
Vetor de números aleatórios não-repetidos de um intervalo em C
Nenhum comentário foi encontrado.
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Discos que não instalam o sistema por erro MBR/GPT no Linux
Hospedagem de Mangás com Kavita e Docker para Acesso Remoto via Tailscale
Aplicar tema e ícones do Ubuntu Cinnamon no Arch Linux sem AUR
Continuando meus tópicos anteriores (7)
Configurar cloudflare via terminal (1)
Abrir uma Url Windows/Wininet pelo Ubuntu em C++ (1)









