When I was in my engineering days then i faced the same scenario where I was not able to solve or understand the data structures and Algorithm Questions. Here I am explaining How I learnt Data Structures & Algorithm:
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
Step 1 :
Learn few basic sorting algorithms along with their use case and time complexity.
Learn searching algorithms along with time complexity.
Step 2 :
Single Linked List (Insert at front,back,middle; Delete at front back middle)
Double Linked List
Circular Linked List
Step 3 :
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 Search Tree
Height of a Tree
Searching an element
Where to study from?
Learn Data Structures
MIT Introduction to Algorithm