Data Structures & Algorithms

My DS & Algo story

Coming from a non-Computer Science background, Data Structures and Algorithms (DSA) always felt like an elusive and intimidating subject throughout my college years. I often found myself skimming past the topic, not fully grasping its significance or practical applications.

Things began to change when I started my professional journey as a Data Analyst. Over time, I naturally transitioned into building dashboards and front-end interfaces. This shift introduced me to the world of User Interfaces (UI) — a space where clean design meets functional data representation. It was during this transition that I began to understand the critical role structured data plays in enabling UI components to behave predictably and efficiently.

As I dived deeper into front-end development, I realized that UI is not just about visuals — it's about how you receive, structure, and manipulate data before rendering it to the user. This realization sparked a curiosity in me. I started appreciating the beauty of data structures and how thoughtful design can drastically improve performance and scalability.

That’s when I truly started to embrace the world of DSA — not just as an academic requirement, but as a practical toolkit that helps solve real-world problems with elegance and efficiency.

Check my leetcode profile...
Leetcode

How to get proficient with DS & Algo?

In my opinion, Data Structures and Algorithms are essentially about managing memory and resources efficiently. Whether you're dealing with a huge dataset, optimizing a search, or building a scalable application, DSA is at the heart of writing performant code.

Here’s how I recommend getting started and building proficiency:

  • Choose a Programming Language You're Comfortable With
  • Understand the 'Why' Behind Each Data Structure
  • Practice Smartly, Not Just Hard
  • Visualize Problems
  • Apply It to Projects
  • Mock Interviews & Real Interviews

I began with Python because of its clean syntax and dynamic typing, which allowed me to focus more on the logic than on boilerplate code. If you're already comfortable with JavaScript, Java, or C++, feel free to stick with it. The core concepts remain the same.