How do I learn data structures and algorithms?
I was in the same situation 1 and a half year ago. I will explain how I learnt data structure and algorithms.In the following text Algorithms and Data structure which are marked in bold are very important. Learn every algorithm/data structure with it’s time & space complexity, stable, in place, and where it is useful.
What to study?
Step 0 :
- Understand about pointers in C++, structures or classes
- Learn how to calculate worst case, best case , average case time complexities
Learn few basic sorting algorithms along with their use case and time
complexity.
- Bubble sort
- Insertion sort
- Selection sort
Learn searching algorithms along with time complexity.
- Linear Search
- Binary Search
Step 2 :
- Stack
- Queue
- Single Linked List (Insert at front,back,middle; Delete at front back middle)
- Double Linked List
- Circular Linked List
- Learn the following approaches in algorithms
- Divide and Conquer (Merger Sort, Quick Sort, Binary Search are some examples)
- Greedy method (Knapsack, Prim’s algorithm, Kruskal’s algorithm, Dijkstra, Bellmanford)
- Dynamic programming (0/1 Knapsack, Travelling Salesman Problem, Coin change)
- Backtracking (N Queens problem)
Step 4 :
- Binary Tree
- Binary Search Tree
- Height of a Tree
- Tree Traversal
- BFS
- DFS
- Searching an element
- AVL Tree
- Hashing
GeeksforGeeks | A computer science portal for geeks
Data Structures and Algorithms | Coursera
LeetCode - The World's Leading Online Programming Learning Platform
Logicmojo | Video Lectures
Video Lectures | Introduction to Algorithms (SMA 5503) | Electrical Engineering and Computer Science | MIT OpenCourseWare
Online Courses - Learn Anything, On Your Schedule | Udemy
Data Structures and Algorithms | Coursera
LeetCode - The World's Leading Online Programming Learning Platform
Logicmojo | Video Lectures
Video Lectures | Introduction to Algorithms (SMA 5503) | Electrical Engineering and Computer Science | MIT OpenCourseWare
Online Courses - Learn Anything, On Your Schedule | Udemy
No comments:
Post a Comment