Why You NEED to Focus on Data Structures and Algorithms (DSA)!

Intro:

Some people love it; Some people hate it but Data Structures and Algorithms (DSA) are important topics, that you NEED TO LEARN, in order to get better at Computer Science.

In this post we’re going to be giving you a BRIEF OVERVIEW of DSA; the benefits/drawbacks of learning it AND my own opinion.

So before we get into DSA, make sure to applaud this post and share with your friends!

What ACTUALLY is Data Structures and Algorithms (DSA)?

Lets break it down:

Data Structures — A predefined format for efficiently storing, accessing and processing data within a computer program (REF: https://www.computerhope.com/jargon/d/data-structure.htm).

In simple terms, it’s a particular way that we store data.

Algorithms — A finite set of well defined instructions to complete a task.

Again in simple terms; it’s a set of instructions helping us to complete a task.

Data Structures and Algorithms are used together (for e.g. we could use push and pop algorithms to manipulate data in a stack).

Types of Data Structures:

Primitive — Directly supported by the programming language (Boolean, Character, …)

Non-Primitive — Not directly supported by the programming language i.e. the programmer has to create them themselves (for e.g. in C the programmer has to create Arrays and Strings).

What Will I Need to Learn DSA For?

For coding interviews (especially ones ran by FAANG companies), you will need to have good knowledge on DSA.

Computer Science degrees do touch on DSA so you will need to learn it, in order to get your degree.

Just about anyone, involved in Computer Science will probably need to know DSA, at some point.

Where Can I Learn DSA?

Websites like HackerRank, HackerEarth, LeetCode, FireCode.io and many more are great. They have a whole range of questions to test yourself with, against several different test cases.

Of course we CANNOT forget to mention Algo Expert, surely everyone’s heard the famous words ‘So you want to be a software engineer at Google’ !!!

There are so many questions there, with feedback too. There are great people like Clement, Tech with Tim and Nick White who provide great value for Algo Expert!!!

These were just off the top of my head; I’m sure there are many more examples you can find on Google.

Benefits:

As stated above it can help with interviews and university.

It gives you a better understanding of efficiency, helping you to optimise your systems.

It makes you better at problem solving.

Drawbacks:

Opportunity Cost — It can be quite a time consuming process and if you don’t need to learn it then there are better things to be done; for e.g. focussing on a programming language?

Final Things:

Thank you for making it to the end!!

Once again please applaud, like, share and check out my other platforms as part of ‘Vikram Nayyar CP

#computerscience #coding #programming #technology #python #programmer #computer #developer #tech #coder #java #javascript #code #codinglife #webdeveloper #softwareengineer #html #machinelearning #softwaredeveloper #programmers #software #engineering #linux #programmingmemes #artificialintelligence #datascience #computerengineering #cybersecurity #hacking #bhfyp #datastructure #programming #computerscience #coding #python #algorithm #developer #pythonprogramming #programmer #programmingmemes #developerlife #javascript #coder #codingmemes #java #coderlife #clanguage #programmerhumor #backenddeveloper #javaprogramming #programmers #javadeveloper #codingfun #html #code #computersciencestudent #codingjokes #datastructures #pythondeveloper #bhfyp