**Summary**

Articles

Videos

Practice questions

Solution reading

Skimming through problems

Practice lots of easy problems

Time and space complexity revision

**Data structures**

**Arrays****60**% probabilityQuestions: Here

**Linked lists****10**% probabilityPractice/revise the generic things

Create, edit, delete

Reverse, join, multiple linked lists, etc.

**Graphs**

**Algorithms**

**DFS, BFS**

**Dynamic programming**

**Binary search**Finite space of things, sorted

Video: Here

**Topological sorting**

**More algorithms**

Bellman Ford

Dijkstra's

Floyd Warshall

Ford Fulkerson

Kahn's

kosaraju's

Kruskal's

Prim's

Tarjan's

**Coding Patterns **

14 patterns: Here

Binary search

2 pointer pattern

DFS, BFS

Finding min/max - dynamic programming

Tree traversals - inorder, postorder, preorder

Heaps, priority queue for storing max things

Graph traversal with conditions

Keeping the max of something in trees

Longest shortest path

DFS, BFS in 2d matrix

Iterative way of going from top left to bottom right

Make a stack/queue, add the root. Pop it -> add neighbors and then explore one by one

Return when you find something

Example problems: Word search

Travel salesman

Connected components in a graph

Combination, permutation, combination sum - Backtracking

Include, recurse, exclude pattern

Kevin naughton video: Here

Template for solving backtracking problems: Here

2d matrix dynamic programming patterns - knapsack etc.

Advanced binary search: Here

**Reading solutions**

Read solutions when you’re not practicing or studying

Helps you get a grasp of how similar questions look

Make notes while going through each one

What you learnt

Piece of code you liked

Something new you found

question/pattern type

Techie delight - Here

**Mock interviews**

It’s nice to take some mock interviews before a real one.

Leetcode premium mock interview

Pramp: Here

Interviewing.io: Here