Getting Started with DSA

NEHA KULKARNI
GDSC UMIT
3 min readNov 27, 2023

--

Data Structures and Algorithms.

INTRODUCTION — WHAT IS DSA?

Well if you made it here I’m pretty sure you at least are familiar with what DSA is….. if not, do not worry!

DSA, short for Data Structures and Algorithms is one of the most trending skills since quite a long time. It comes under computer science courses and if you regularly practice DSA habits, you will become the most powerful (in terms of knowledge) amongst all.

WHY DSA? WHAT ARE OPTIMIZED SOLUTIONS?

DSA is basically used for obtaining OPTIMIZED solutions. Now you may ask what really is an optimized solution?

Let’s say you are supposed to chop up few vegetables to prepare a salad. There are various ways by which you could chop these up post thoroughly washing them.

  1. You may use a simple, basic knife.
  2. You may use a manual chopper. (Pull the lever to rotate the blades)
  3. Or you may also use the Indian Traditional ones where a huge knife like part comes attached to a wooden board.

All of these will do the same job but the 2nd option would comparatively be more easy to use, efficient and less time consuming which makes it an optimized solution amongst all other solutions.

HOW TO START DSA CAREER?

As you are promoted to the next grade is school the only pre-requisite is that you pass the previous grade successfully so that your basics for next grade are clear.

Similarly for DSA, the only pre-requisite is that one must be proficient in his or her comforting programming languages.

Preferred ones are: JavaScript, C++, C, Python, etc.

Whichever language you prefer, you must know it completely as those will act as a foundation when you begin DSA.

Some Youtubers that I would like to recommend are:

  1. Love Babbar (highly recommend)
  2. Free code camp
  3. Code with Harry

The next step is to study the various Data Structures from basics. Few are:

Now in DSA or any programming language you can’t be just jumping between theory, implementation is the best way to keep save these concepts forever in your muscle memory.

In order to switch from one concept to other say from arrays → queues, one must at least solve 20 beginner level practice problems based on arrays from various free available online platforms like https://www.geeksforgeeks.org as their interface is the best one to begin with.

On the side one must also keep reading about what ALGORITHMS and solve their complexities.

There is a subject dedicated algorithms know as DAA short for design and analysis of algorithms. An algorithm is nothing but step by step procedure/rules followed to get a desired output.

Various popular examples of Algorithms that at least you should know are:

  1. Sorting Algorithms: Quick sort, Merge sort and Selection sort
  2. Searching Algorithm: Linear search, Binary search, BFS, DFS
  3. Dijkstra’s Algorithm
  4. Warshall’s Algorithm
  5. Kruskal’s Algorithm
  6. Prim’s Algorithm
  7. Travelling Salesman Problem

Once you are well versed in the above things, you can opt for competitive coding platforms such as www.leetcode.com www.hackerearth.com www.codeforces.com (I started with codeforces first)

Striver’s Sheet (A list of various problems, levels ranging and sorted according to difficulty) is very popular if one is preparing for interviews and isaid to be a must! This sheet can be found any where only.

Follow these steps, stay true to yourself and the only key to master DSA is Consistency.

Two problems daily can take you from nowhere to the top VS 10 problems once in a while is as good as solving 0 problems daily. Decide where you want to stand and START NOW!

You can also make a commitment by posting your daily progress on platforms such as Linkedin and X(twitter). This pressure and some healthy competition gets one going!

As and when you start solving and resort to more complex problems you will realize why DSA plays such an important role in selection as well as in the backends of popular tech companies such as Google, Microsoft, Amazon, etc.

--

--