Eu não vejo problema em usar listas desde que você use um algoritmo eficiente para percorre-la.
Para listas ordenadas, você pode usar a busca binária, busca em salto e busca interpolada.
E para listas não ordenadas, a busca em largura e a busca em profundidade. Essas duas ultimas são usadas para percorrer árvores e grafos, então meio que não importa se estão ordenadas ou não.