This repo contains code written as a part of CS6101 Undergraduate CS Course in Data Structure and Algorithms.
Includes Python module implementation of :
-
Data Structure
- Stack
- Queues
- Linked List
- Graph
- Union Find
- Binary Search Tree*
-
Sorting and Searching Algorithms
- Insertion Sort
- Merge Sort
- Quick Sort
- Randomized Quick Sort
- Heap Sort
- Bucket Sort
- Counting Sort
- Radix Sort
-
Greedy Algorithms
- Activity Selection Problem
- Max Score
- Breadth First Search
- Depth First Search
- Kruskal's MST
- Dijkstra's Single Source Shortest Path
-
Dynamic Programming
- Edit Distance
- Knapsack Problem[0-1 only]
- Minimum Cost Path
- Longest Common Subsequence Problem*
-
Backtracking
- N Queen's Problem
-
Artificial Intelligence
- A* pathfinding Algorithm*
#References:
- http://www.geeksforgeeks.org
- http://topcoder.com
- Introduction to Algorithms - CLRS
- Fundamentals of Computer Algorithms - Horowitz, Sahni, Rajasekaran