No caso da implementação mais simples de uma tabela, as suas entradas poderiam estar em qualquer ordem -- por exemplo, a ordem em que foram criadas. Neste caso, a operação de busca por um valor tem que ser exaustiva, ou seja, eventualmente todas as entradas deverão ser pesquisadas a fim de determinar se a chave está ou não presente na tabela.
Este procedimento de busca linear está descrito de forma simplificada no Algoritmo 2.1. Neste algoritmo, os argumentos de entrada são a tabela onde a busca será realizada e a chave de busca.
Esse algoritmo começa a analisar a tabela a partir da primeira posição, podendo potencialmente analisar todas as posições da tabela -- a máxima quantidade de posições analisáveis está restrita ao número de elementos na tabela. A chave associada a cada entrada da tabela é comparada com a chave de busca. Caso as duas chaves sejam iguais, a entrada foi encontrada e o algoritmo encerra retornando o valor associado à chave para essa entrada. Caso a busca chegue ao final da tabela sem que a chave especificada tenha sido encontrada, o algoritmo encerra retornando o valor especial NIL.
O atrativo desse procedimento é a simplicidade. Porém, seu uso está restrito a tabelas pequenas, pois para tabelas grandes ele é muito ineficiente. O tempo de pesquisa cresce linearmente com o número de entradas na tabela, ou seja, o algoritmo apresenta complexidade temporal .