LogoLogo

How to Start with DSA

Prasun Das| June 6, 2023 at 9:16 PM | 4 minutes Read


Each and every programmer needs a strong grasp in DSA to write efficient and optimised codes. However, DSA has a reputation of being one of the most feared topics among newbies. It might be a little confusing for new programmers regarding where and how to start with DSA. In this article, we will focus on everything about DSA and where and how to start with it.



First things first, what is DSA? 

DSA stands for Data Structure and Algorithms - it is a combination of two distinct yet interrelated topics: data structure and algorithms.


Data Structure refers to a particular manner of storing and organising data in our devices to facilitate efficient and effective use of data. Data structures help us to write better codes as they do the job with better time and space complexities.


Algorithm refers to a well defined set of instructions providing step by step solutions to a particular problem. 



TIPS TO GET STARTED WITH DSA



DSA is an extremely important topic for each and every programmer. To master it, one must be resilient and follow a certain procedure best suited to individual needs. However, if you are unsure about your own approach and are thinking of following a certain tested procedure to get started, here are some tips for you:


1. CHOOSE ONE LANGUAGE OF CHOICE:

It is essential that you don’t switch between programming languages in your initial days of learning DSA as it might trigger some confusion. Note that the programming language you choose to learn DSA with should be one that you are comfortable with. Though a programming language is nothing but a medium of communication with the machine, it is important that you stick with one language till you master DSA.


2. KNOW THE TOPICS:

A very basic yet often the most ignored step of learning something new. Before you dive into the topic, first get an idea about the topics you need to cover and the resources available, try to choose the best or at least a credible source for them. 

Below you’ll find the list of individual topics one needs to understand in DSA:

Data Structure -

  1. Array
  2. String
  3. Matrix
  4. Linked List
  5. Queue
  6. Tree
  7. Stack
  8. Graph


Algorithms -

  1. Searching
  2. Sorting
  3. Hashing
  4. Recursion
  5. Backtracking
  6. Prefix sum
  7. Suffix sum
  8. Traversal through Tree and Graph
  9. Dynamic Programming 
  10. Advanced algorithms dealing with trees, graphs, etc



3. CHOOSE YOUR RESOURCES TO LEARN FROM:

You can learn DSA from various books, YouTube channels, trusted sites like GeeksforGeeks, Coding Ninja or even your Professor’s notes. The point is don’t hesitate to use different sources for different topics. As long as you’re understanding and learning, it’s alright.



4. HAVE STRONG FUNDAMENTALS


It is essential that you spend quality time knowing and understanding the basics of every data structure and the particular algorithm. Strong fundamentals will provide the required base for further study of more complex operations. Make sure to understand and practice the basics wherever necessary, every now and then.



5. PROPER INVESTMENT OF TIME

You’ll require a great deal of patience, discipline and rigorous effort to master any new topic - the same goes for DSA. Do not keep any time specific target as a deadline to learn DSA. Such a mindset will hinder your learning. Invest proper time and energy in DSA and it will give you proper return throughout your career.



6. BE CONSISTENT

Consistency is the key to learning anything new. Try to devote at least an hour in practising and solving at least two new problems on the particular topic everyday. Revise the basics every now and then, keep practising problems on DSA and take part in coding challenges every now and then. 



7. TAKE REGULAR BREAKS

Doing too much at a continuous stretch is bound to lower productivity and will definitely make it difficult to grasp new topics. It is advised hence to take regular breaks between study sessions for better understanding. While doing advanced topics, it is essential that you manage the short breaks well for rejuvenating yourself after a rigorous study session. Remember a tired brain doesn’t really please your learning curve.



8. BALANCE BETWEEN NEW AND OLD TOPICS

A good way to keep a balance is to traverse through old topics while doing new topics simultaneously. Once you have moved to a new topic, take some test or revision of the old topic. Don’t stick to one topic and take quick revisions of old topics for longer retention. 



9. CARRY OUT DRY RUNS

When you’re writing codes, make sure that you do dry runs at least once for your code. Take a test case and go through the execution of the whole code taking the test case as the reference. This practice essentially stimulates our logical thinking and helps us to understand the code better. 



10. NO PLACEMENT MINDSET IN THE LEARNING PHASE

Most of the students start learning DSA with their placements in mind. They set a specific time period as their target of completing DSA and nurture ambitions of getting better placements by doing quick shot DSA courses. That will simply not work. You should dedicate a proper amount of time for learning and understanding DSA. Also, don’t fret about specific questions which come up in specific interviews with companies. First of all focus on understanding and practising basic problems. You might start attempting interview questions or advanced problems once you’ve mastered the basics.



These were some of the tips and suggestions to help you in your quest to master DSA. If one follows these basic tips their job becomes slightly easier while learning DSA. 

#tips#interview tips and tricks#interview preparation#dsa-prep
View Count:5.0k
1

Comments

Similar Articles

DSA Cheatsheet Curated list (Leetcode)

If you're looking to prepare for a job in the tech industry, Data Structures and Algorithms (DSA) are essential to master. Practising problems on plat......

Cover image

Campus Placement Roadmap for Batch 2024

Its that time round the calendar again, but different for you all as for the first time now. You all will be facing the on campus placement season.Wit......

Cover image

TIPS ON PASSING ATS WITH YOUR RESUME (How to write Resumes)

The job hunting landscape has evolved in different aspects since the advent of the internet. Thanks to the internet, online applications for a particu......

Cover image

How to write cold emails / dms / How to approach [with template example]

Writing a cold email might be challenging, but the proper pearl of knowledge can spare business years of pain and thousands of dollars. But how can yo......

Cover image

Operating System INTERVIEW QUESTIONS

Operating Systems is one of the core subjects for a computer science student. As such a lot of important questions are asked on this subject in interv......

Cover image

LAST MINUTE INTERVIEW TIPS

It has been observed that a majority of applicants experience anxiety, self doubt and miscellaneous emotions which might cloud their minds. It is a no...

Cover image

Cognizant previous year QnA and Interview Experience

Cognizant helps organizations remain ahead of the competition by modernizing technology, reinventing processes, and redefining customer experiences. I...

Cover image

Capgemini Previous Year Questions with Study Materials

Capgemini is a global leader in consulting, digital transformation, technology, and engineering services. In the rapidly evolving world of cloud, digi...

Cover image

MINDTREE Interview Experience and Previous Year Questions Part 2

Technical Round :Candidates who pass the online test will be invited to the technical interview...

Cover image

MINDTREE Interview Experience and Previous Year Questions Part 1

About Mindtree:Mindtree Ltd, located in Bangalore, India, is a prominent Indian multinational information technology and outsourcing company. The&nbsp...

Cover image

TCS NQT Latest Questions and Answers

TCS NQT Interview kicks off with the aptitude test. The test follows the following pattern : TCS uses the TCS-iON software for their online aptit...

Cover image

INTERVIEW TIPS AND TRICKS FOR FRESHERS

Increased competition for fewer jobs in the current economy means that just being right for the role on paper, is not enough on its own anymore. You h...

Cover image

TCS NINJA INTERVIEW EXPERIENCE [2023]

About TCS NinjaTCS administers the NQT to select candidates for a variety of positions (National Qualifier Test). Tens of thousands of people apply fo...

Cover image

Understanding Time Complexity with Interview Examples

Introduction:Understanding time complexity of a function is imperative for every programmer to execute a program in the most efficient manner. Time co...

Cover image

TCS Digital Interview Experience [2023]

About TCS DigitalTCS selects applicants for a variety of jobs by conducting the NQT (National Qualifier Test). About 10,000-15,000 job applicants subm...

Cover image

SQL Interview Questions

Are you getting ready for your SQL developer job interview?You've come to the correct place.This tutorial will assist you in brushing up on your SQL s...

Cover image

TCS NQT Technical Interview Questions

TCS Recruitment ProcessInterview RoundsInterview round 1:  TCS NQTTCS NQT (National Qualifier T...

Cover image

TCS NQT Aptitude Questions

TCS NQT Aptitude has three sections, namely the Numerical Ability, Verbal Ability, and Reasoning Abi...

Cover image

TCS NQT Interview Experience [2023]

About TCS NQTTCS NQTs, also known as TCS National Qualifier Tests or Tata Consultancy Services Natio...

Cover image

Last Minute Preparation Cheat Sheet for Quantitative Aptitude

FORMULA LIST:ALGEBRA :1.Sum of first n natural numbers = n(n+1)/22.Sum of the squares of first n nat...

Cover image

Final year Placement Roadmap in India

Nowadays students tend to go more for off campus placements rather than on campus placements.One of ...

Cover image

C Interview Questions — 2022

C is a general purpose high-level language most popular amongst coders, it is the most compatible, e...

Cover image

Cognizant GenC Next Interview

What is GenC and GenC Next?GenC stands for Generation Cognizant. It basically means the fresher hiri...

Cover image

Python [Advanced] Interview Questions — 2022

Interview Questions are a great source to test your knowledge about any specific field. But remember...

Cover image

Basic Python [Core] Interview Questions for Freshers and Short Sample Answers — 2022

The most popular high-level, multipurpose programming language right now is Python.Python supports p...

Cover image

Basic Java Interview Questions for Freshers and Short Sample Answers — 2022

Interview Questions are a great source to test your knowledge about any specific field. But remember...

Cover image

A Complete Roadmap for On-Campus Placements

Placements are an important part of engineering life, and while everyone hopes to be placed in a reputable company, only a few are successful. This is primarily due to a...

Cover image