This course is about data structures and algorithms. We are going to implement the problems in Python. I highly recommend typing out these data structures and algorithms several times on your own in order to get a good grasp of it.
Section 1:

setting up the environment

data structures and abstract data types
Section 2:

what is an array data structure

arrays related interview questions

linked list data structure and its implementation
Section 3:

stacks and queues

related interview questions
Section 4:

what are binary search trees

practical applications of binary search trees
Section 5:

problems with binary trees

balanced trees: AVL trees and redblack trees
Section 6:

what are heaps

heapsort algorithm
Section 7:

associative arrays and dictionaries

how to achieve O(1) constant running time with hashing

ternary search trees as associative arrays
Section 8:

basic graph algorithms

breadthfirst and depthfirst search
Section 9:

shortest path algorithms

Dijkstra’s algroithm

BellmanFord algorithm
Section 10:

what are spanning trees

Kruskal algorithm
Section 11:

sorting algorithms

bubble sort, selection sort and insertion sort

quicksort and merge sort

noncomparison based sorting algorithms

counting sort and radix sort
In the first part of the course we are going to learn about basic data structures such as linked lists, stacks, queues, binary search trees, heaps and some advanced ones such as AVL trees and redblack trees… The second part will be about graph algorithms such as spanning trees, shortest path algorithms and graph traversing. We will try to optimize each data structure as much as possible.
In each chapter I am going to talk about the theoretical background of each algorithm or data structure, then we are going to write the code step by step in Python.
Most of the advanced algorithms relies heavily on these topics so it is definitely worth understanding the basics. These principles can be used in several fields: in investment banking, artificial intelligence or electronic trading algorithms on the stock market. Research institutes use Python as a programming language in the main: there are a lot of library available for the public from machine learning to complex networks.
Thanks for joining the course, let’s get started!
 This course is suited for anyone who has some basic knowledge in Python
Suggest:
☞ Python for Beginners: Become a Certified Python Developer
☞ Introduction to Python for Beginners
☞ The Python 3 Bible™  Go from Beginner to Advanced in Python
☞ Complete Python Bootcamp: Go from zero to hero in Python
☞ Learn Python Through Exercises
☞ The Python Bible™  Everything You Need to Program in Python