A guide to implement the most up to date algorithms from scratch: arrays, linked lists, graph algorithms and sorting
What Will I Learn?
- Have a good grasp of algorithmic thinking
- Be able to develop your own algorithms
- Be able to detect and correct inefficient code snippets
- Python basics
- Some theoretical background ( big O notation )
This course is about data structures and algorithms. We are going to implement the problems in Python, but I try to do it as generic as possible: so the core of the algorithms can be used in C++ or Java. I highly recommend typing out these data structures and algorithms several times on your own in order to get a good grasp of it.
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 red-black 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.
Who is the target audience?
- This course is suited for anyone who has some basic knowledge in python
Curriculum For This Course
Expand All 130 Lectures 12:46:45
+ Introduction 4 Lectures10:00
+ Setup 1 Lecture03:18
+ Data Structures – Arrays 3 Lectures23:02
+ Data Structures – Linked Lists 9 Lectures50:11
+ Data Structures – Stacks & Queues 6 Lectures36:39
+ Data Structures – Binary Search Trees 11 Lectures58:15
+ Data Structures – Balanced Binary Trees (AVL Trees) 13 Lectures01:22:23
+ Data Structures – Balanced Binary Trees (Red-Black Trees) 9 Lectures43:02
+ Data Structures – Heaps 11 Lectures01:05:06
+ Data Structures – Associative Arrays / Dictionaries 9 Lectures45:10
+ Data Structures – Tries 7 Lectures35:09
+ Graph Algorithms 1 Lecture07:53
+ Graph Algorithms – Graph Traversal Algorithms 5 Lectures43:41
+ Graph Algorithms – Shortest Paths 11 Lectures01:13:44
+ Graph Algorithms – Spanning Trees 11 Lectures01:18:14
+ Basic Sorting Algorithms 18 Lectures01:50:18
+ BONUS 1 Lecture00:42
About the Instructor
My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.Take a look at my website and join my email list if you are interested in these topics!