What you’ll learn
Understand arrays and linked lists
Understand stacks and queues
Understand tree like data structures (binary search trees)
Understand balances trees (AVL trees and red-black trees)
Understand heap data structures
Understand hashing, hash tables and dictionaries
Understand the differences between data structures and abstract data types
Understand graph traversing (BFS and DFS)
Understand shortest path algorithms such as Dijkstra’s approach or Bellman-Ford method
Understand minimum spanning trees (Prims’s algorithm)
Understand sorting algorithms
Be able to develop your own algorithms
Have a good grasp of algorithmic thinking
Be able to detect and correct inefficient code snippets
Requirements
Python basics
Some theoretical background ( big O notation )
Description
This course is about data structures, algorithms and graphs. We are going to implement the problems in Python programming language. I highly recommend typing out these data structures and algorithms several times on your own in order to get a good grasp of it.