Thursday, January 10, 2019

How to Begin to learn Data Structure?

In this post you will know how to learn DS and what are the best sources to learn fundamentals of DS. Learning programming and Data Structures are just like learning new skills, where you have to read, to practice, to do mistakes, and to gain experience. I personally don’t recommend a single source of information as every one will explain the concept in totally different way it’ll open your mind to so many questions and applications for that specific DS you learn.
Don’t also mind learning DS in multiple languages and on multiple frameworks since you are going to notice , for example, that the applications of DS in C are really different than those in Python, and the way you implement things there, are not the same way you implement them here.

Data Structures and Algorithms are the basic building blocks of a Computer Science graduate’s career.

For beginner’s level, the data structures you should be well aware of are:

Arrays. The simplest Data Structure and will help you solve 90% of the questions unless time complexity is a major constraint.

Linked List. Operations are faster than those in arrays.

Stacks.
Queues.
Binary Trees. Faster traversal.
Heap.
Hash map.
For algorithms, I will suggest you to cover cover all the areas and just not concentrate on your competiton related stuffs. Algorithms are essential for a good programmer and knowledge never goes to waste.

Sorting:
Bubble Sort
Selection Sort. While this two sorting algorithms are traditional and more time consuming, they are also easy to implement.
Quick Sort. If space complexity is a constraint.
Merge Sort. If space complexity isn't an issue.
Searching:

Linear Search. Easiest one but please don't go for it during competitive coding.
Binary Search. Go for this one instead.
Interpolation Search. Further improvement on Binary Search algorithm.


Spanning Trees:
Djikstra’s Algorithm.
Prim’s Algorithm.
Kruskal’s Algorithm.
Bellman Ford.
Floyd Warshall.
Travelling Salesman Problem.
Max Flow Min Cut.
Coming to how to practice, the best way to practice is to write on a piece of paper with pen. Understand the logic first. Geeks for Geeks and Tutorials Point are two very good websites for both DS and Algorithms. You may also practice from IndiaBix. It has MCQs which you can practice. Strengthens your base. You can find useful video lectures on YouTube as well. Learn the working mechanism. Try on pen and paper first. Then type it on a computer. In this way you will remember it better.

To start with I’d recommend Tutorials Point. Link:Data Structure and Algorithms (DSA) Tutorial. This will cover your basic concepts on Data Structures and Algortihms.

Once you are done with Tutorials Point, go to an Advanced level. Read Geeks for Geeks. Link:Data Structures - GeeksforGeeks . 
These two websites will help you get a very good understanding on the subject matter. You may also refer to the Coursera video lectures. The concept of Amortized Analysis is best explained there.

No comments:

Post a Comment

High Paying Jobs after Learning Python

Everyone knows Python is one of the most demand Programming Language. It is a computer programming language to build web applications and sc...