Home

PDSA using Python

This is an online textbook for the course Programming, Data Structures and Algorithms using Python (PDSA).

Note to students: This book is meant to be used as a reference. You may find content that has not been covered in the video lectures. Likewise, there may be some content that is present in the lectures which is not covered here. In summary, please refer to chapters that you feel are relevant for the course. But you are under no obligation to read the entire book cover to cover. Interested students are always welcome to read the entire thing!

 

INDEX

WeekContentSummary and Implementations
1Python recap, Why efficiency matters?Open
2Algorithm analysis: Complexity and Notations, Searching algorithms:- Linear and Binary Search, Sorting algorithms:- Selection, Insertion and Merge SortOpen
3Quick Sort, Data structures: Python List vs NumPy Array, Linked List, Hashing, Stack, QueueOpen
4Graph algorithms:- Introduction, Graph representation, BFS, DFS, Topological Sorting, Longest Path in DAGOpen
5Graph algorithms:- Shortest Path:- Dijkstra's, Bellman Ford and Floyd-Warshall Algorithm, Minimum Spanning Tree:- Prim's and Kruskal's AlgorithmOpen
6Union-Find Data Structure, Data structures: Tree, Heap, Binary Search TreeOpen
7AVL Tree, Greedy AlgorithmOpen
8Divide and Conquer AlgorithmOpen
9Dynamic programmingOpen
11Complexity classes, Flow network and Linear programmingWill Update Soon
12String or Pattern Matching Algorithm and Regular Expressions(Extra Content)Open