Criei esse repositório como uma maneira de praticar algoritmos e estruturas de dados. Ficar bom em resolver problemas de programação e programação competitiva tem sido algo que eu sempre quis fazer. Faço programação competitiva não apenas para me preparar para a entrevista técnica, mas para mim é uma combinação de matemática e praticidade. Comecei a aprender conceitos como gráfico e programação dinâmica mesmo antes de saber sobre entrevistas técnicas.
Existem duas pastas no repositório para estruturas de dados e problemas clássicos. Estruturas de dados é onde implementei novas e avançadas estruturas de dados em Java.
Estruturas de dados mais notáveis que coletei:
Problemas clássicos é uma pasta para problemas conhecidos e os algoritmos usados para resolvê-los. A maioria dos algoritmos pode ser encontrada em abundância na internet.
Alguns dos problemas interessantes até agora foram:
Fora das duas pastas, passei a maior parte do tempo resolvendo problemas de programação em uma variedade de juízes on -line (ranking hacker, hacker Earth, UVA, etc.). Também codifiquei muitos problemas nas forças de código, leetcode e tenho repositórios separados dedicados a eles.
Meu idioma principal da programação é Java, mas eu tenho usado o CPP recentemente.
Ficarei feliz em receber contribuições.