I am a fresh software engineering graduate and I am looking for something to improve my problem solving skills, while I did learn about basic algorithms and data structures, I feel like I could learn further more, I know about big O, fast sorting algorithms, dynamic programming, backtracking, binary trees (Although I do not think I know everything about them), I also know about low level memory concepts.

I am sure I forgot to mention some of the stuff I also know about, but I hope the ones I mentioned give a good insights on where I should move onto next.

  • @ericjmorey
    link
    1
    edit-2
    24 hours ago

    What have you built? What larger projects have you contributed to?

    • @[email protected]OP
      link
      fedilink
      English
      322 hours ago

      One of the biggest things I have built was a experimental 3D physics engine, it did require some memory allocation optimizations, I built a lot of stuff I cannot really list them all in here, An honorable mention would be an FPS game from scratch without a game engine.

      • @ericjmorey
        link
        1
        edit-2
        27 minutes ago

        That’s more than most SWE graduates have done, which is great! But it makes it difficult to judge what you might benefit from based on what you’ve shared.

        To answer the title question, the suggestions provided by others here are all good resources for studying algorithms, but no one mentioned Algorithms Illuminated which is of a similar quality. Choose one of these suggested resources that vibes with your learning style.

        But don’t discount the suggestions to work on new projects that are outside of your current experience and requires more than your current knowledge base to complete. Trying things you haven’t tried before really is the only way to do things you couldn’t do previously.

        Good luck!