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
- 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.