This course is about data structures and algorithms. We are going to implement problems in Python. You will start by learning the basics of data structures, linked lists, and arrays in Python. You will be shown how to code tuples in Python followed by an example that shows how to program dicts and sets in Python. You will learn about the use of pointers in Python. You will then explore linear data structures in Python such as stacks, queues, and hash tables. In these you will learn how to implement a stack and code queues and deques. There will also be a demonstration on how to realize a hash table in Python. Following this you will learn how to use tree/graph data structures including binary trees, heaps and priority queues in Python. You will program priority queues and red-black trees in Python with examples. Finally, you will be shown how to apply different algorithms such as Graph traversal, Shortest Path, Minimum Spanning Tree, Maximum Flow tree, and DAG topological sorting
This course teaches all these concepts in a very practical hands-on approach without burdening you with lots of theory. By the end of the course, you will have learned how to implement various data structures and algorithms in Python.