Want to improve at algorithms? Build your own tools

Posted by Repulsive-Win7189@reddit | learnprogramming | View on Reddit | 6 comments

When i say “tools”, i don’t mean enter 2 values and sum them. No, i mean something that handles computational problems such as your own interpreter for a custom database, building anything that deals with time and conflict handling, scheduling, a custom code editor, etc.

Building a REST API isn’t going to improve these skills since they’re completely different (tho, you can still run into complexity with middleware and authentication).

I say this from my own experience building these tools. Here are examples of how it helped me:

Building an interpreter for my custom database helped me to understand FSMs, making this problem trivial: https://leetcode.com/problems/string-to-integer-atoi/

Building the event overlap handling with my scheduler made this trivial: https://leetcode.com/problems/merge-intervals/

It’s a good challenge and it really teaches you the fundamentals of problem solving and software development.