Se o custo de criar o set
é O(n), não faz sentido criar um set
para fazer uma busca, ainda mais falando sobre uma lista de 10 elementos.
Faz sentido sugerir estudar estrutura de dados, mas é preciso usar exemplos melhores para mostrar a utilidade.
Era o que ia falar.
Criar o set
faz sentido se vc vai fazer muitas buscas e/ou tiver muitos elementos, pois aí o custo de criá-lo se paga.
Mas se é só para uma ou poucas buscas (ou listas com poucos elementos), pode até piorar. Ou no melhor caso, tanto faz porque a diferença será irrisória e imperceptível - afinal, para poucos dados, tudo é rápido.
Dito isso, gosto da mensagem geral, de que conhecer as estruturas de dados é importante. Vejo muito código desnecessariamente complicado ou ineficiente por aí, simplesmente porque a pessoa está usando a estrutura errada.
Ótima observação! De fato, criar um set tem um custo O(n), então para uma única busca em uma lista pequena, a abordagem não traz vantagem. O exemplo poderia ser melhor ajustado para um cenário onde múltiplas buscas são feitas, justificando a conversão para set antes das consultas. O ponto principal do post, no entanto, continua sendo a importância de entender estruturas de dados para tomar decisões informadas e otimizar código quando necessário.
No proximo post eu melhoro o exemplo, obrigado pelo comentario