4.43 out of 5
4.43
3299 reviews on Udemy

Algorithms and Data Structures in Python (INTERVIEW Q&A)

A guide to implement data structures, graph algorithms and sorting algorithms from scratch with interview questions!
Instructor:
Holczer Balazs
20,198 students enrolled
English [Auto] More
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

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.

So what are you going to learn in this course?

Section 1:

  • setting up the environment

  • differences between data structures and abstract data types

Section 2 – Arrays:

  • what is an array data structure

  • arrays related interview questions

Section 3 – Linked Lists:

  • linked list data structure and its implementation

  • doubly linked lists

  • linked lists related interview questions

Section 4 – Stacks and Queues:

  • stacks and queues

  • stack memory and heap memory

  • how the stack memory works exactly?

  • stacks and queues related interview questions

Section 5 – Binary Search Trees:

  • what are binary search trees

  • practical applications of binary search trees

  • problems with binary trees

Section 6 – Balanced Binary Trees (AVL Trees and Red-Black Trees):

  • why to use balanced binary search trees

  • AVL trees

  • red-black trees

Section 7 – Priority Queues and Heaps:

  • what are priority queues

  • what are heaps

  • heapsort algorithm overview

Section 8 – Hashing and Dictionaries:

  • associative arrays and dictionaries

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

Section 9 – Graph Traversal:

  • basic graph algorithms

  • breadth-first

  • depth-first search

  • stack memory visualization for DFS

Section 10 – Shortest Path problems (Dijkstra’s and Bellman-Ford Algorithms):

  • shortest path algorithms

  • Dijkstra’s algorithm

  • Bellman-Ford algorithm

  • how to detect arbitrage opportunities on the FOREX?

Section 11 – Spanning Trees (Kruskal’s and Prim’s Approaches):

  • what are spanning trees

  • what is the union-find data structure and how to use it

  • Kruskal’s algorithm theory and implementation as well

  • Prim’s algorithm

Section 12 – Sorting Algorithms

  • sorting algorithms

  • bubble sort, selection sort and insertion sort

  • quicksort and merge sort

  • non-comparison 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 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.

Thanks for joining the course, let’s get started!

Introduction

1
Introduction
2
Complexity theory basics

Data Structures Overview

1
Why to use data structures
2
Data structures and abstract data types
3
Data Structures and Abstract Data Types Quiz

Installation and Environment Setup

1
Installing Python and PyCharm on Windows
2
Installing Python and PyCharm on Mac

Data Structures - Arrays

1
What are array data structures?
2
Arrays introduction - operations
3
Arrays in Python
4
What are real arrays in Python?
5
Arrays Quiz

Interview Questions (Arrays)

1
Reversing an array in-place overview
2
Reversing an array in-place solution
3
Palindrome problem overview
4
Palindrome problem solution
5
Integer reversion problem overview
6
Integer reversion problem solution
7
Anagram problem overview
8
Anagram problem solution
9
Duplicates in an array problem overview
10
Duplicates in an array problem solution

Data Structures - Linked Lists

1
What are linked lists?
2
Linked list introduction - operations
3
Linked list implementation I
4
Linked list implementation II
5
Linked list implementation III
6
Comparing linked lists and arrays
7
Practical (real-world) applications of linked lists
8
Linked Lists Quiz

Data Structures - Doubly Linked Lists

1
What are doubly linked lists?
2
Doubly linked list implementation
3
Running time comparison: linked lists and arrays
4
Doubly Linked Lists Quiz

Interview Questions (Linked Lists)

1
Finding the middle node in a linked list overview
2
Finding the middle node in a linked list solution
3
Reverse a linked list in-place overview
4
Reverse a linked list in-place solution

Data Structures - Stacks

1
What are stacks?
2
Stacks in memory management (stacks and heaps )
3
Stack memory visualization
4
Stack implementation
5
Practical (real-world) applications of stacks
6
Stack Quiz

Data Structures - Queues

1
What are queues?
2
Queue implementation
3
Queues Quiz

Interview Questions (Stacks and Queues)

1
Max in a stack problem overview
2
Max in a stack problem solution
3
Queue with stack problem
4
Queue with stack problem solution
5
Queue with stack problem solution - recursion

Data Structures - Binary Search Trees

1
What are binary search trees?
2
Binary search trees theory - search, insert
3
Binary search trees theory - delete
4
Binary search trees theory - in-order traversal
5
Binary search trees theory - running times
6
Binary search tree implementation I
7
Binary Search Tree implementation II
8
Stack memory visualization - finding max (min) items
9
Stack memory visualization - tree traversal
10
Binary Search Tree implementation III
11
Practical (real-world) applications of trees
12
Binary Search Trees Quiz

Interview Questions (Binary Search Trees)

1
Compare binary trees overview
2
Compare binary trees solution

Data Structures - AVL Trees

1
Motivation behind balanced binary search trees
2
What are AVL trees?
3
AVL trees introduction - height
4
AVL trees introduction - rotations
5
AVL trees introduction - illustration
6
AVL tree implementation I
7
AVL tree implementation II
8
AVL tree implementation III
9
AVL tree implementation IV
10
AVL tree implementation V
11
Practical (real-world) applications of balanced binary search trees
12
AVL Trees Quiz

Data Structures - Red-Black Trees

1
What are red-black trees?
2
The logic behind red-black trees
3
Red-black trees - recoloring and rotation cases
4
Red-black tree illustrations
5
Red-black tree implementation I
6
Red-black tree implementation II
7
Red-black tree implementation III
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4
4.4 out of 5
3299 Ratings

Detailed Rating

Stars 5
1415
Stars 4
1179
Stars 3
491
Stars 2
133
Stars 1
81
30-Day Money-Back Guarantee

Includes

18 hours on-demand video
33 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion
Algorithms and Data Structures in Python (INTERVIEW Q&A)
Price:
$218.98 $159

Community

For Professionals

For Businesses

We support Sales, Marketing, Account Management and CX professionals. Learn new skills. Share your expertise. Connect with experts. Get inspired.

Community

Partnership Opportunities

Layer 1
samcx.com
Logo
Register New Account
Compare items
  • Total (0)
Compare
0