Algoritmos de busca formam uma parte importante de muitos programas. Algumas buscas envolvem procurar uma entrada em um banco de dados, como procurar seu registro no banco de dados da Receita Federal. Outros algoritmos de busca vasculham um espaço virtual, como aqueles que caçam os melhores movimentos de xadrez. Embora programadores possam escolher entre numerosos tipos de busca, eles selecionam o algoritmo que melhor corresponde ao tamanho e estrutura do banco de dados para fornecer uma experiência amigável ao usuário.
A busca linear é o algoritmo de escolha para listas curtas, porque é simples e requer código mínimo para implementar. O algoritmo de busca linear olha o primeiro item da lista para ver se é o que você procura e, se for, você terminou. Se não, olha o próximo item e assim por diante através de cada entrada na lista.
Busca binária é um algoritmo popular para grandes bancos de dados com registros ordenados por chave numérica. Candidatos exemplos incluem o banco de dados da Receita Federal chaveado por número de seguro social e registros do DETRAN chaveados por números de carteira de motorista. O algoritmo começa no meio do banco de dados — se seu número alvo for maior que o número do meio, a busca continuará com a metade superior do banco de dados. Se seu número alvo for menor que o número do meio, a busca continuará com a metade inferior do banco de dados. Ele continua repetindo esse processo, cortando o banco de dados pela metade cada vez até encontrar o registro. Esta busca é mais complicada que a busca linear, mas para grandes bancos de dados é muito mais rápida que uma busca linear.
Uma busca em árvore só funciona se os dados se encaixam em uma estrutura de árvore. O banco de dados começa em uma raiz que vai para alguns itens, cada um dos quais vai para mais alguns itens e assim por diante até você ter uma árvore. Um exemplo é o jogo de xadrez. A posição atual do tabuleiro é a raiz. Os movimentos legais a partir desta posição representam um passo abaixo na árvore, e assim por diante até o jogador encontrar a posição do tabuleiro que o deixa na melhor posição.
Uma busca por algoritmo genético é uma das técnicas por trás da inteligência artificial. Ela busca uma "solução ótima" expressa como uma string de dados — como a lista de dimensões internas de um motor a jato que fornece empuxo máximo. A busca começa com uma população aleatória de strings e testa cada uma, mantendo as melhores e cruzando-as para obter a próxima geração. O programa continua repetindo este processo até chegar a uma string de solução ótima.
Tecnologia Eletrônica © [www.351231.com]