[Last updated 11/2023] Algorithms and Data Structures in Python (INTERVIEW Q&A) (Udemy – Vietsub and Engsub)
About Course
Views
:
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
Time video:
23.5 hours (209 Lessons + Documents)
Teacher:
Holczer Balazs
Total weight:
5.22 GB
Original link:
https://www.udemy.com/course/algorithms-and-data-structures-in-python/
Course Content
17 – Interview Questions (Heaps)
-
002 Checking heap properties solution.mp4
08:04 -
004 Max heap to min heap solution.mp4
06:57
33 – ### APPENDIX – COMPLEXITY THEORY CRASH COURSE ###
-
001 How to measure the running times of algorithms.mp4
08:44 -
002 Complexity theory illustration.mp4
04:21 -
003 Complexity notations – big O (ordo).mp4
08:11 -
004 Complexity notations – big Ω (omega).mp4
04:29 -
005 Complexity notations – big (θ) theta.mp4
02:06 -
006 Algorithm running times.mp4
10:51 -
007 Complexity classes.mp4
13:14 -
008 Analysis of algorithms – loops.mp4
08:01
32 – Other Algorithmic Problems
-
002 Dutch national flag problem theory.mp4
08:03 -
003 Dutch national flag problem solution.mp4
04:40 -
005 Trapping rain water problem theory.mp4
13:34 -
006 Trapping rain water problem solution.mp4
06:46
30 – ### SORTING ALGORITHMS ###
-
021 Quicksort introduction.mp4
12:15 -
036 Radix sort implementation.mp4
13:37 -
035 Radix sort introduction.mp4
13:02 -
034 Counting sort implementation.mp4
09:48 -
033 Counting sort introduction.mp4
10:17 -
032 Non-comparison based algorithms.mp4
02:13 -
031 Hybrid algorithms introduction.mp4
06:09 -
029 Stack memory and merge sort visualization.mp4
07:49 -
028 Merge sort implementation.mp4
08:22 -
027 Merge sort introduction.mp4
08:17 -
025 What is the worst-case scenario for quicksort.mp4
07:20 -
023 Quicksort implementation.mp4
11:36 -
022 Quicksort introduction – example.mp4
07:41 -
001 Sorting introduction.mp4
07:36 -
019 Shell sort implementation.mp4
06:27 -
018 Shell sort introduction.mp4
06:18 -
014 Insertion sort implementation.mp4
05:23 -
013 Insertion sort introduction.mp4
08:35 -
011 Selection sort implementation.mp4
05:29 -
010 Selection sort introduction.mp4
05:14 -
009 Bubble sort implementation.mp4
05:31 -
008 Bubble sort introduction.mp4
05:27 -
006 Bogo sort implementation.mp4
07:53 -
005 Bogo sort introduction.mp4
03:14 -
003 What is adaptive sorting.mp4
03:14 -
002 What is stability in sorting.mp4
06:09
29 – ### SUBSTRING SEARCH ALGORITHMS ###
-
001 Brute-force search introduction.mp4
06:52 -
003 Brute-force substring search algorithm implementation.mp4
06:30 -
005 Rabin-Karp algorithm introduction.mp4
20:27 -
006 Rabin-Karp algorithm implementation.mp4
14:56 -
008 Knuth-Morris-Pratt algorithm introduction.mp4
12:54 -
009 Constructing the partial match table – visualization.mp4
08:10 -
010 Knuth-Morris-Pratt algorithm implementation.mp4
09:18 -
012 Z algorithm introduction.mp4
19:30 -
013 Z algorithm illustration.mp4
12:49 -
014 Z algorithm implementation.mp4
16:12 -
016 Substring search algorithms comparison.mp4
05:11 -
017 Applications of substring search.mp4
02:21
28 – Hamiltonian Cycles – Travelling Salesman Problem
-
001 What are Hamiltonian cycles.mp4
11:19 -
002 The travelling salesman problem.mp4
02:35 -
003 Travelling salesman problem implementation.mp4
17:52 -
004 TSP and stack memory visualization.mp4
11:58 -
005 Why to use meta-heuristics.mp4
05:20
27 – Graph Algorithms – Spanning Trees with Prims Algorithm
-
001 What is the Prim-Jarnik algorithm.mp4
09:36 -
002 Prims-Jarnik algorithm implementation I.mp4
10:26 -
003 Prims-Jarnik algorithm implementation II.mp4
03:14 -
004 Comparing the spanning tree approaches.mp4
02:08 -
005 Applications of spanning trees.mp4
06:10
26 – Graph Algorithms – Spanning Trees with Kruskal Algorithm
-
001 What is the disjoint set data structure.mp4
14:13 -
002 Disjoint sets visualization.mp4
05:53 -
003 Kruskal’s algorithm introduction.mp4
10:08 -
004 Kruskal algorithm implementation I – basic classes.mp4
06:28 -
005 Kruskal algorithm implementation II – disjoint set.mp4
13:02 -
006 Kruskal algorithm implementation III – algorithm.mp4
05:14 -
007 Kruskal algorithm implementation VI – testing.mp4
03:25
25 – Interview Questions (Shortest Paths)
-
002 How to use Bellman-Ford algorithm on the FOREX.mp4
06:26 -
003 Interview question #1 – solution.mp4
03:57
24 – Graph Algorithms – Shortest Paths with Bellman-Ford Algorithm
-
001 What is the Bellman-Ford algorithm.mp4
13:41 -
002 Bellman-Ford algorithm visualization.mp4
05:20 -
003 Bellman-Ford algorithm implementation I – Node, Edge.mp4
01:38 -
004 Bellman-Ford algorithm implementation II – the algorithm.mp4
07:46 -
005 Bellman-Ford algorithm implementation III – testing.mp4
03:21 -
006 Greedy algorithm or dynamic programming approach.mp4
05:45
23 – Graph Algorithms – Shortest Paths with Dijkstra’s Algorithm
-
001 What is the shortest path problem.mp4
04:50 -
002 Dijkstra algorithm visualization.mp4
11:03 -
003 Dijkstra algorithm implementation I – Edge, Node.mp4
10:34 -
004 Dijkstra algorithm implementation II – algorithm.mp4
13:57 -
005 Dijkstra algorithm implementation III – testing.mp4
03:55 -
006 Dijktsra’s algorithm with adjacency matrix representation.mp4
12:10 -
007 Adjacency matrix representation implementation.mp4
12:46 -
008 Shortest path algorithms applications.mp4
05:08 -
009 What is the critical path method (CPM).mp4
04:10
22 – Interview Questions (Graph Traversal)
-
002 Interview question #1 – solution.mp4
02:54 -
003 Depth-first search and stack memory visualisation.mp4
06:01 -
005 Interview question #2 – solution.mp4
16:14
21 – Depth-First Search
-
001 Depth-first search introduction.mp4
08:52 -
002 Depth-first search implementation.mp4
04:07 -
003 Applications of depth-first search.mp4
03:02 -
004 Memory management of graph traversal algorithms.mp4
04:18
20 – Graph Algorithms – Graph Traversal Algorithms
-
001 Breadth-first search introduction.mp4
08:20 -
002 Breadth-first search implementation.mp4
09:48 -
003 Applications of breadth-first search.mp4
02:19 -
004 What are WebCrawlers (core of search engines).mp4
05:49 -
005 WebCrawler basic implementation.mp4
09:42
19 – ### GRAPH ALGORITHMS ###
-
001 Graph theory overview.mp4
06:45 -
002 Adjacency matrix and adjacency list.mp4
07:58 -
003 Applications of graphs.mp4
03:37
18 – Data Structures – Associative Arrays (Dictionaries)
-
001 What are associative arrays.mp4
05:51 -
002 Hashtable introduction – basics.mp4
11:25 -
003 Hashtable introduction – collisions.mp4
11:19 -
004 Hashtable introduction – dynamic resizing.mp4
07:08 -
005 Linear probing implementation I.mp4
06:02 -
006 Linear probing implementation II.mp4
06:27 -
007 Linear probing implementation III.mp4
02:14 -
008 Dictionaires in Python.mp4
03:40 -
009 Why to use prime numbers in hashing.mp4
06:21 -
010 Practical (real-world) applications of hashing.mp4
06:30
01 – Introduction
-
02:40
16 – Data Structures – Heaps
-
001 What are priority queues.mp4
04:51 -
002 Heap introduction – basics.mp4
10:12 -
003 Heap introduction – array representation.mp4
09:33 -
004 Heap introduction – remove operation.mp4
07:12 -
005 Using heap data structure to sort (heapsort).mp4
06:25 -
006 Heap introduction – operations complexities.mp4
05:05 -
007 Binomial and Fibonacci heaps.mp4
04:17 -
008 Heap implementation I.mp4
05:11 -
009 Heap implementation II.mp4
10:18 -
010 Heap implementation III.mp4
04:31 -
011 Heaps in Python.mp4
03:56
15 – Data Structures – Red-Black Trees
-
001 What are red-black trees.mp4
10:48 -
002 The logic behind red-black trees.mp4
04:26 -
003 Red-black trees – recoloring and rotation cases.mp4
09:25 -
004 Red-black tree illustrations.mp4
07:33 -
005 Red-black tree implementation I.mp4
06:51 -
006 Red-black tree implementation II.mp4
05:33 -
007 Red-black tree implementation III.mp4
09:57 -
008 Red-black tree implementation IV.mp4
02:09 -
009 Differences between red-black tree and AVL trees.mp4
02:46
14 – Data Structures – AVL Trees
-
001 Motivation behind balanced binary search trees.mp4
03:26 -
002 What are AVL trees.mp4
06:47 -
003 AVL trees introduction – height.mp4
12:38 -
004 AVL trees introduction – rotations.mp4
09:05 -
005 AVL trees introduction – illustration.mp4
05:17 -
006 AVL tree implementation I.mp4
09:47 -
007 AVL tree implementation II.mp4
09:38 -
008 AVL tree implementation III.mp4
12:05 -
009 AVL tree implementation IV.mp4
07:51 -
010 AVL tree implementation V.mp4
02:20 -
011 Practical (real-world) applications of balanced binary search trees.mp4
03:40
13 – Interview Questions (Binary Search Trees)
-
002 Compare binary trees solution.mp4
06:58
12 – Data Structures – Binary Search Trees
-
001 What are binary search trees.mp4
15:41 -
002 Binary search trees theory – search, insert.mp4
07:55 -
003 Binary search trees theory – delete.mp4
06:12 -
004 Binary search trees theory – in-order traversal.mp4
05:28 -
005 Pros and cons of binary search trees.mp4
03:40 -
006 Binary search tree implementation I.mp4
08:38 -
007 Binary search tree implementation II.mp4
08:39 -
008 Stack memory visualization – finding max (min) items.mp4
04:39 -
009 Stack memory visualization – tree traversal.mp4
06:00 -
010 Binary search tree implementation III – remove operation.mp4
18:09 -
011 Practical (real-world) applications of trees.mp4
03:02
11 – Interview Questions (Stacks and Queues)
-
002 Max in a stack problem solution.mp4
07:05 -
004 Queue with stack problem solution.mp4
06:04 -
005 Queue with stack problem solution – recursion.mp4
03:45
10 – Data Structures – Queues
-
001 What are queues.mp4
06:32 -
002 Queue implementation.mp4
08:36
09 – Data Structures – Stacks
-
001 What are stacks.mp4
06:36 -
002 Stacks in memory management (stacks and heaps).mp4
06:57 -
003 Stack memory visualization.mp4
06:19 -
004 Stack implementation.mp4
08:41 -
005 Practical (real-world) applications of stacks.mp4
04:06
08 – Interview Questions (Linked Lists)
-
002 Finding the middle node in a linked list solution.mp4
05:28 -
004 Reverse a linked list in-place solution.mp4
06:52
07 – Data Structures – Doubly Linked Lists
-
001 What are doubly linked lists.mp4
06:59 -
002 Doubly linked list implementation.mp4
08:11 -
003 Running time comparison linked lists and arrays.mp4
03:57
06 – Data Structures – Linked Lists
-
001 What are linked lists.mp4
06:29 -
002 Linked list introduction – operations.mp4
08:57 -
003 Pros and cons of linked lists.mp4
03:33 -
004 Linked list implementation I.mp4
08:42 -
005 Linked list implementation II.mp4
04:40 -
006 Linked list implementation III.mp4
07:01 -
008 Comparing linked lists and arrays.mp4
06:26 -
009 Practical (real-world) applications of linked lists.mp4
05:03
05 – Interview Questions – (Arrays)
-
002 Reversing an array in-place solution.mp4
04:34 -
004 Palindrome problem solution.mp4
06:31 -
006 Integer reversion problem solution.mp4
09:57 -
008 Anagram problem solution.mp4
06:06
04 – Data Structures – Arrays
-
001 What are array data structures.mp4
06:06 -
002 What are lists in Python.mp4
03:52 -
003 Arrays introduction – operations.mp4
08:18 -
004 Lists in Python.mp4
05:37 -
005 Lists in Python – advanced operations.mp4
08:24 -
006 Lists in Python – list comprehension.mp4
05:53
03 – ### DATA STRUCTURES ###
-
001 Why do we need data structures.mp4
06:29 -
002 Data structures and abstract data types.mp4
04:57
02 – Installation and Environment Setup
-
01:53
-
002 Installing PyCharm.mp4
03:38