Top algorithms –

Insertion sort, Selection sort,

Merge Sort, Quicksort

Binary Search

Breadth First Search (BFS)

Depth First Search (DFS)

Lee algorithm | Shortest path in a Maze

Flood fill Algorithm

Floyd’s Cycle Detection Algorithm

Kadane’s algorithm

Longest Increasing Subsequence

Inorder, Preorder, Postorder Tree Traversals

Heap Sort

Topological Sorting in a DAG

Disjoint-Set Data Structure (Union-Find Algorithm)

Kruskal’s Algorithm for finding Minimum Spanning Tree

Single-Source Shortest Paths — Dijkstra’s Algorithm

All-Pairs Shortest Paths — Floyd Warshall Algorithm

Top Data Structures –

Along with above algorithms, every computer science student is expected to implement below data structures –

Linked List Implementation | Part 1

Linked List Implementation | Part 2

Insertion in BST

Search given key in BST

Deletion from BST

Stack, Queue

Min Heap and Max Heap

Graph Implementation using STL

Graph Implementation in C++ without using STL

Trie Implementation | Insert, Search and Delete

Memory efficient Trie Implementation using Map | Insert, Search and Delete

One is also expected to be familiar with other programming paradigms like Backtracking, Dynamic Programming, Divide & Conquer, Greedy Algorithms and concepts like Hashing and Recursion.