Tipos de algoritmos de pesquisa

Mãe e pai beijando a menina no tapete

Uma família está usando um laptop.

Crédito da imagem: altrendo images / Stockbyte / Getty Images

Os algoritmos de pesquisa são uma parte importante de muitos programas. Algumas pesquisas envolvem a procura de uma entrada em um banco de dados, como consultar seu registro no banco de dados do IRS. Outros algoritmos de pesquisa percorrem um espaço virtual, como os que procuram os melhores lances de xadrez. Embora os programadores possam escolher entre vários tipos de pesquisa, eles selecionam o algoritmo que melhor corresponde ao tamanho e à estrutura do banco de dados para fornecer uma experiência amigável.

Pesquisa Linear

A busca linear é o algoritmo de escolha para listas curtas, porque é simples e requer um mínimo de código para ser implementado. O algoritmo de pesquisa linear examina o primeiro item da lista para ver se você está pesquisando por ele e, em caso afirmativo, você concluiu. Caso contrário, ele examina o próximo item e continua em cada entrada na lista.

Vídeo do dia

Pesquisa Binária

A pesquisa binária é um algoritmo popular para grandes bancos de dados com registros ordenados por chave numérica. Os candidatos de exemplo incluem o banco de dados do IRS codificado pelo número da previdência social e os registros do DMV codificados pelos números da carteira de motorista. O algoritmo começa no meio do banco de dados - se o seu número alvo for maior que o número do meio, a pesquisa continuará com a metade superior do banco de dados. Se o seu número de destino for menor do que o número do meio, a pesquisa continuará com a metade inferior do banco de dados. Ele continua repetindo esse processo, cortando o banco de dados pela metade a cada vez até encontrar o registro. Esta pesquisa é mais complicada do que a pesquisa linear, mas para grandes bancos de dados é muito mais rápida do que uma pesquisa linear.

Tree Search

Uma pesquisa em árvore só funciona se os dados se encaixarem em uma estrutura em á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é que você tenha 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 degrau abaixo na árvore, e assim por diante, até que o jogador encontre a posição do tabuleiro que o deixa na melhor posição.

Algoritmo genético

A busca por algoritmo genético é uma das técnicas por trás da inteligência artificial. Ele busca uma "solução ótima" expressa como uma série 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 criando-as para chegar à próxima geração. O programa continua repetindo esse processo até chegar a uma string de solução ideal.