Data-structure & Algorithm
Tags: algorithms, programming
Published: 2021-10-17 11:48:20

#Why learn Data-Structures And Algorithm 🤔?
 1. To Crack the Interviews of the Top Product Based Companies.
 2. To Solve Some Real-World Complex Problems.
 3. Data structure and algorithms help in understanding the nature of the problem at a deeper level and thereby a better understanding of the world.
 
#Where to Start As beginner🤷‍♀️🤷‍♂️.

These days there is a lot of platforms to start with data structure and Algorithm.At First, you must know a programming language like c++/java/python, then basic data structures like an array, hash map, tree, graphs, heap, etc. After this, move to coding platforms like hackerrank. HackerEarth, Leetcode, CodeChef, codeforces, etc and start practicing the variety of questions.
  
#Choosing a Programing Language 🤷‍♂️.

##Which one to choose 🤔 according to one's choice, need and Syntax Comfort-ability.

###My opinion:-
* C++: If you are interested in coding contests like ACM-ICPC then C++ makes your contest easy because of its STL library in-build functions.

* Java: If you want to explore coding contests and development both, better to go with java, but you will not get a library like STL in it. And also syntax is a bit lengthy.

* Python: Basically python is best for development but can also be used for coding contests, with rich in-build library functions.

##Where to Practice .📲

###Note/Suggestion: 📗📕📙
First solve 250 to 350 Standard questions (must do) before moving to any Competitive coding platform. **Benefit of doing**-After doing the SDE sheet you will have basic clarity and command over the data structure.

 1.SDE Sheets
 There is so many SDE sheet available on the internet but some 
  amazing ones are here.

 * [Fraz's Sheet](https://docs.google.com/spreadsheets/d/1AAYYhA-kg2V5L39vqa6niXjI4Ati_dfH/edit?usp=sharing&ouid=101272277798655699579&rtpof=true&sd=true)

 * [Striver's SDE Sheet] (https://docs.google.com/document/d/1_edIHDhZCv976oia8O0PwT62vhHorc-n/edit?usp=sharing&ouid=101272277798655699579&rtpof=true&sd=true)

 * [Love-Babbar Sheet] (https://docs.google.com/spreadsheets/d/1WXZaE_BRDK03_7WgFZ9bO4Y5VGSva1uk/edit?usp=sharing&ouid=101272277798655699579&rtpof=true&sd=true)

 2.Platforms for Competitive Programming

 * Codechef
 * Codeforces
  
#Best resources 👍🎉
1. Websites 

* [HackerEarth](https://www.hackerearth.com/)

* [Leetcode](https://leetcode.com/)

* [Binary Serach](https://binarysearch.com/)

2. Youtube Channels 

* [Luv's channel- For STL and Competitive coding](https://www.youtube.com/c/LuvIsMe)

* [Striver-channel](https://www.youtube.com/c/takeUforward) 

* [Fraz's Channel] (https://www.youtube.com/c/LeadCoding)

* Amazing one [Kunal Kushwaha] (https://www.youtube.com/results?search_query=kunal+kushwaha)

#🤦‍♀️🤦‍♂️Mistakes Done by learners while learning Data structure & Algorithm

* Inconsistency is the one of the Major problem , which must be avoided while doing daily problem-solving.
* Going through so many resources, Not completing any one SDE sheet will make you land no ware.

#Best Practices 👍

* Solve daily at least 2 questions from any platform, it will give you confidence and make you learn a lot.
* Always stick to 1 resource completely and then move to another one.

##Thanks 
And show your support 
[Buy me a coffee] (https://www.buymeacoffee.com/PawanUpadhyay)