Data Structures & Algorithms In Python

Posted By: ELK1nG

Data Structures & Algorithms In Python
Published 2/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 742.79 MB | Duration: 5h 3m

Data Structures and Algorithms in Python | Leetcode + Video Solutions | Animated Explanation | Ace Coding Inteviews

What you'll learn

Understand Data Structures and Algorithms & How to Implement and Use them in Python

Understand Big O Notation and How to Calculate Space & Time Complexities

Improve your Problem Solving Skills

Enhance your Programming Skills

Leetcode Challenges with Video Solutions

Understand How to Decide When to Use a Specific Algorithm or Data Structure for Different Use Cases

Ace Coding Interviews

Requirements

Basic python programming

Description

Welcome to the Data Structures and Algorithms in Python Course!Are you a Python programmer who wants to write efficient code and improve your programming and problem solving skills ?Do you have an upcoming coding interview and you want to ace it with confidence ?If the answer is yes, then this course is the right choice for you!In this course you will learn everything about Data Structures and Algorithms and how to implement and use them in Python.The concepts are explained with animations which makes it much more easier to understand and memorize.You will also apply your knowledge throughout the course via coding exercises and Leetcode coding challenges with video solutions.The course covers the following topics:GeneralWhy Should You Learn Data Structures and Algorithms ?What are Data Structures ?What are Algorithms ?Big O NotationLinear Complexity - O(n)Constant Complexity - O(1)Quadratic Complexity - O(n^2)Logarithmic Complexity - O(logn)Constants in Big ODominant and Non-Dominant Factors in Big OComplexities ComparisonData StructuresLinked ListsPython Built-In ListsStacksQueuesSetsTreesHeapsHash TablesGraphsAlgorithmsLinear SearchBinary SearchBubble SortInsertion SortSelection SortMerge SortRecursionTree TraversalGraph TraversalI'm confident that you will enjoy this course, but if you for some reason are not happy with the course it's backed by Udemy's 30 day money back guarantee, so nothing to lose :)I'm excited to see you in the course, hit that enroll button and start your mastering Data Structures & Algorithms journey :)

Overview

Section 1: Introduction

Lecture 1 Why Should You Learn Data Structures and Algorithms ?

Lecture 2 What are Data Structures ?

Lecture 3 What are Algorithms ?

Lecture 4 Information about the Course

Section 2: Big O Notation

Lecture 5 Introduction to Big O Notation

Lecture 6 Linear Complexity - O(n)

Lecture 7 Constant Complexity - O(1)

Lecture 8 Quadratic Complexity - O(n^2)

Lecture 9 Logarithmic Complexity - O(logn)

Lecture 10 Constants in Big O

Lecture 11 Dominant and Non-Dominant Factors in Big O

Lecture 12 Complexities Comparison

Section 3: Big O Notation: Practical

Section 4: Linked Lists

Lecture 13 Introduction to Linked Lists

Lecture 14 Linked List Class Implementation

Lecture 15 Linked List: Add Element

Lecture 16 Linked List: Append Implementation

Lecture 17 Linked List: Prepend Implementation

Lecture 18 Linked List: Iterating

Lecture 19 Linked List: Iterating Implementation

Lecture 20 Linked List: Removing Elements

Lecture 21 Linked List: Removing Elements Implementation

Lecture 22 Time Complexity of Linked Lists Operations

Lecture 23 When to Use Linked Lists

Section 5: Linked Lists: Practical

Lecture 24 Leetcode Challenge - Reverse Linked List: Solution

Lecture 25 Leetcode Challenge - Middle of the Linked List: Solution

Section 6: Linked Lists: Python Built-In Lists

Lecture 26 Creating Lists

Lecture 27 Iterating Lists

Lecture 28 Append

Lecture 29 Extend

Lecture 30 Insert

Lecture 31 Remove

Lecture 32 Pop

Lecture 33 Clear

Lecture 34 Count

Lecture 35 Reverse

Section 7: Python Built-In Lists: Practical

Section 8: Stacks

Lecture 36 Introduction to Stacks

Lecture 37 Stack Implementation: Stack and Node Classes

Lecture 38 Stack Implementation: Push

Lecture 39 Stack Implementation: Pop & isEmpty

Lecture 40 Python Built-In List as Stack

Section 9: Stacks: Practical

Lecture 41 Leetcode Challenge - Valid Parentheses: Solution

Section 10: Queues

Lecture 42 Introduction to Queues

Lecture 43 Queue Implementation: Queue and Node Classes

Lecture 44 Queue Implementation: isEmpty

Lecture 45 Queue Implementation: Enqueue

Lecture 46 Queue Imeplementation: Dequeue

Section 11: Queues: Practical

Lecture 47 Leetcode Challenge - Implement Queue Using Two Stacks: Solution

Section 12: Sets

Lecture 48 Introduction to Sets

Lecture 49 Creating and Initializing Sets

Lecture 50 Set's Methods and Operations

Lecture 51 Sets Big O

Section 13: Sets Practical

Section 14: Trees

Lecture 52 Introduction to Trees

Lecture 53 Binary Trees

Lecture 54 Complete Binary Trees

Lecture 55 Binary Search Trees

Lecture 56 Binary Search Trees: Insert Operation

Lecture 57 Binary Search Trees: Class Implementation

Lecture 58 Binary Search Trees: Insert Operation Implementation

Lecture 59 Binary Search Trees: Search Operation Implementation

Section 15: Trees: Practical

Lecture 60 Leetcode Challenge - Search in a Binary Search Tree: Solution

Section 16: Heaps

Lecture 61 Introduction to Heaps

Lecture 62 Heaps: Insert

Lecture 63 Heaps: Pop

Lecture 64 Heap Implementation

Lecture 65 Heap Implementation: Insert & Heapify Up

Lecture 66 Heap Implementation: Pop

Lecture 67 Heap Implementation: Heapify Down

Lecture 68 Using heapq as Minimum Heap in Python

Lecture 69 Heap Operations Time Complexities

Section 17: Heaps: Practical

Lecture 70 Leetcode Challenge - Kth Largest Element in a Stream: Solution

Section 18: Hash Tables

Lecture 71 Introduction to Hash Tables

Lecture 72 Using Dictionaries as Hash Tables in Python

Lecture 73 Hash Tables Time & Space Complexities

Section 19: Hash Tables: Practical

Lecture 74 Leetcode Challenge - 2 Sum: Solution

Section 20: Graphs

Lecture 75 Introduction to Graphs

Lecture 76 Graphs: Adjacency Matrix

Lecture 77 Graphs: Adjacency List

Lecture 78 Graph Implementation: Class & Constructor

Lecture 79 Graph Implementation: Add Node

Lecture 80 Graph Implementation: Add Edge

Lecture 81 Graph Implementation: Remove Edge

Lecture 82 Graph Implementation: Remove Node

Lecture 83 Graph Implementation: Display

Lecture 84 Graph Time & Space Complexities

Section 21: Graphs: Practical

Section 22: Searching Algorithms

Lecture 85 Linear Search

Lecture 86 Linear Search Implementation

Lecture 87 Binary Search

Lecture 88 Binary Search Implementation

Lecture 89 Searching Algorithms Big O

Section 23: Searching Algorithms: Practical

Section 24: Sorting Algorithms

Lecture 90 Bubble Sort

Lecture 91 Bubble Sort Implementation

Lecture 92 Insertion Sort

Lecture 93 Insertion Sort Implementation

Lecture 94 Selection Sort

Lecture 95 Selection Sort Implementation

Lecture 96 Merge Sort

Lecture 97 Merge Sort Implementation

Lecture 98 Sorting Algorithms Big O

Section 25: Sorting Algorithms: Practical

Lecture 99 Leetcode Challenge - Cout Pairs Whose Sum is Less than Target: Solution

Section 26: Recursion

Lecture 100 Introduction to Recursion

Lecture 101 Call Stack

Lecture 102 Recursion Example: Factorial

Lecture 103 Recursion Big O

Section 27: Recursion: Practical

Lecture 104 Leetcode Challenge - Fibonacci Number: Solution

Section 28: Tree Traversal

Lecture 105 Introduction

Lecture 106 Inorder

Lecture 107 Inorder Implementation

Lecture 108 Preorder

Lecture 109 Preorder Implementation

Lecture 110 Postorder

Lecture 111 Postorder Implementation

Lecture 112 Tree Traversal Big O

Section 29: Tree Traversal: Practical

Lecture 113 Leetcode Challenge - Range Sum of BST: Solution

Section 30: Graph Traversal

Lecture 114 Introduction

Lecture 115 BFS

Lecture 116 BFS Implementation

Lecture 117 DFS

Lecture 118 DFS Implementation

Lecture 119 Graph Traversal Big O

Section 31: Graph Traversal: Practical

Lecture 120 Leetcode Challenge - Find if Path Exists in Graph: Solution

Section 32: Conclusion

Lecture 121 Final Thoughts

Python Programmers Who Want to Master Data Structures and Algorithms,Python Programmers Preparing for Coding Interviews,Python Programmers Who Want to Write More Efficient Code and Improve Their Problem-Solving Skills