Executando verificação de segurança...
2

Depende muito de linguagem a ser utilizada e o contexto. Um linked list hoje em dia é para casos muito especifíco.

Linguagens como Rust temos diversos tipos de estruturas como array, vectors e tuples. Elas se comportam de maneira semelhante, mas cada uma tem seus próprios trade-offs.

Tua estrutura garante operações em O(1)?

Nem todas as estruturas garantem isso. Eu mesmo nunca vi nenhuma que garante isso para todas as operações na estrutura. Sempre há um trade-off.

JavaScript não possui deques e nem filas de prioridade, mas possui sets e maps; mas no geral todas as linguagens modernas utilizam estruturas parecidas.

É só implementar quando necessário. Não são estruturas difícieis de implementar e dependendo do caso, justifica uma complexidade a mais para ter um produto mais otimizado. Maps e Sets são estruturas mais complexas que não substitutem outras.


O post parece misturar algoritmos com estrutura de dados e tangenciado o uso massivo do array. Uso esse que é problemático dependendo do contexto.

Em JavaScript só temos array. Para quem usa JavaScript otimização não é prioridade senão nem estava utilizando JavaScript para começar. É bom colocar na cabeça que, por mais que JavaScript seja lento, para nós, humanos, ainda é bem rápido (até o sistema escalar demais).

A estrutura correta depende fortemente da aplicação e do contexto. Porém eu acredito que o post foi direcionado ao hábito de usar a mesma coisa porque sim. Isto de fato, é um problema crítico para qualquer devs (que eu mesmo já passei).

Carregando publicação patrocinada...
1

Opa! Obrigado pelo comentário!

Bom, na verdade eu concordo com teu comentário, mas eu acredito que independente da tua linguagem é essencial tu se munir com as estruturas que ela oferece nativamente e também entender estruturas clássicas (linked-lists, trees, stacks...).

Entender as estruturas que tua linguagem já implementa nativamente é mais simples e é algo que muitas vezes tu vai acabar.

Se tu trabalha com Java, estude sobre LinkedList, Deque/ArelasrayDeque, HashMap e outras estruturas que a linguagem oferece.

A menos que teu sistema dependa de uma estrutura específica ou que tu priorize muito performance não vejo razão pra implementar uma estrutura manualmente. Isso é algo que tu vai querer fazer depois, quando as coisas escalarem.