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.

Bacana mano. Ainda não cheguei nessa parte dos estudos. Vou estudar um pouco mais

Valeu mn :smile:

Mas só uma dúvida mn. Nesse algoritmo ai a intenção é passar por todas as posições da lista. Esses algoritmos de busca seriam mais eficientes pra passar por todas as posições se necessário?

O objetivo deles é encontrar um valor específico no menor tempo possível, mas se a intenção é percorrer toda a lista, aí não tem jeito mesmo... tem que ser a busca sequencial. Outra coisa que pode melhorar essa situação é o uso de **memoização** (ou caching), e indexação (demonstrado nessa thread pelo *meteusoli*: https://www.tabnews.com.br/mateusoli/javascript-formas-de-realizar-buscas-em-listas-muito-grandes).