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

WHAT YOU WILL LEARN

Understand Data Structures and Algorithms & How to Implement and Use them in Python Python Data Structures & Algorithms: Ace Coding Interviews

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

Enhance Your Problem-Solving Skills

Refine Your Programming Skills

Tackle Leetcode Challenges with Video Solutions

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

Ace Coding Interviews


DESCRIPTION

Welcome to the Data Structures and Algorithms in Python Course!

Are you a Python programmer looking to write efficient code and enhance your programming and problem-solving skills?

Do you have an upcoming coding interview and want to confidently ace it?

If the answer is yes, then this course is the right choice for you!

In this course, you will delve into everything about Data Structures and Algorithms and learn how to implement and use them in Python.

The concepts are elucidated with animations, making it easier to understand and memorize.

Throughout the course, you'll apply your knowledge via coding exercises and tackle Leetcode coding challenges with video solutions.


The course covers the following topics:

General

Why Should You Learn Data Structures and Algorithms?

What are Data Structures?

What are Algorithms?

Big O Notation

Linear Complexity - O(n)

Constant Complexity - O(1)

Quadratic Complexity - O(n^2)

Logarithmic Complexity - O(logn)

Constants in Big O

Dominant and Non-Dominant Factors in Big O

Complexities Comparison

Data Structures

Linked Lists

Python Built-In Lists

Stacks

Queues

Sets

Trees

Heaps

Hash Tables

Graphs

Algorithms

Linear Search

Binary Search

Bubble Sort

Insertion Sort

Selection Sort

Merge Sort

Recursion

Tree Traversal

Graph Traversal

I'm confident that you will enjoy this course. However, if for some reason you are not satisfied, the course is backed by Udemy's 30-day money-back guarantee, so there's nothing to lose :)


I'm excited to see you in the course! Hit that enroll button and embark on your journey to master Data Structures & Algorithms :)


CONTENT

Introduction

- Why Should You Learn Data Structures and Algorithms?

- What are Data Structures?

- What are Algorithms?

- Information about the Course


Big O Notation

- Introduction to Big O Notation

- Linear Complexity - O(n)

- Constant Complexity - O(1)

- Quadratic Complexity - O(n^2)

- Logarithmic Complexity - O(logn)

- Constants in Big O

- Dominant and Non-Dominant Factors in Big O

- Complexities Comparison

- Big O Notation: Practical

- Big O Notation's Quiz

- Big O Calculation


Linked Lists

- Introduction to Linked Lists

- Linked List Class Implementation

- Linked List: Add Element

- Linked List: Append Implementation

- Linked List: Prepend Implementation

- Linked List: Iterating

- Linked List: Iterating Implementation

- Linked List: Removing Elements

- Linked List: Removing Elements Implementation

- Time Complexity of Linked Lists Operations

- When to Use Linked Lists

- Linked Lists: Practical

- Linked List's Quiz

- Append/Prepend Implementation

- Leetcode Challenge - Reverse Linked List

- Leetcode Challenge - Reverse Linked List: Solution

- Leetcode Challenge - Middle of the Linked List

- Leetcode Challenge - Middle of the Linked List: Solution

- Linked Lists: Python Built-In Lists

- Creating Lists

- Iterating Lists

- Append

- Extend

- Insert

- Remove

- Pop

- Clear

- Count

- Reverse

- Python Built-In Lists: Practical

- Reverse/Extend List

- Extend List


Stacks

- Introduction to Stacks

- Stack Implementation: Stack and Node Classes

- Stack Implementation: Push

- Stack Implementation: Pop & isEmpty

- Python Built-In List as Stack

- Stacks: Practical

- Stack's Quiz

- Stack Implementation

- Reverse String using a Stack

- Leetcode Challenge - Valid Parentheses

- Leetcode Challenge - Valid Parentheses: Solution


Queues

- Introduction to Queues

- Queue Implementation: Queue and Node Classes

- Queue Implementation: isEmpty

- Queue Implementation: Enqueue

- Queue Imeplementation: Dequeue

- Queues: Practical

- Queue's Quiz

- Queue Implementation

- Leetcode Challenge - Implement Queue Using Two Stacks

- Leetcode Challenge - Implement Queue Using Two Stacks: Solution


Sets

- Introduction to Sets

- Creating and Initializing Sets

- Set's Methods and Operations

- Sets Big O

- Sets Practical

- Set's Quiz

- Remove Duplicates


Trees

- Introduction to Trees

- Binary Trees

- Complete Binary Trees

- Binary Search Trees

- Binary Search Trees: Insert Operation

- Binary Search Trees: Class Implementation

- Binary Search Trees: Insert Operation Implementation

- Binary Search Trees: Search Operation Implementation

- Trees: Practical

- Tree's Quiz

- Leetcode Challenge: Search in a Binary Search Tree

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


Heaps

- Introduction to Heaps

- Heaps: Insert

- Heaps: Pop

- Heap Implementation

- Heap Implementation: Insert & Heapify Up

- Heap Implementation: Pop

- Heap Implementation: Heapify Down

- Using heapq as Minimum Heap in Python

- Heap Operations Time Complexities

- Heaps: Practical

- Heap's Quiz

- Leetcode Challenge - Kth Largest Element in a Stream

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


Hash Tables

- Introduction to Hash Tables

- Using Dictionaries as Hash Tables in Python

- Hash Tables Time & Space Complexities

- Hash Tables: Practical

- Hash Table's Quiz

- Leetcode Challenge - 2 Sum

- Leetcode Challenge - 2 Sum: Solution


Graphs

- Introduction to Graphs

- Graphs: Adjacency Matrix

- Graphs: Adjacency List

- Graph Implementation: Class & Constructor

- Graph Implementation: Add Node

- Graph Implementation: Add Edge

- Graph Implementation: Remove Edge

- Graph Implementation: Remove Node

- Graph Implementation: Display

- Graph Time & Space Complexities

- Graphs: Practical

- Graph's Quiz

- Code Exercise 1


Searching Algorithms

- Linear Search

- Linear Search Implementation

- Binary Search

- Binary Search Implementation

- Searching Algorithms Big O

- Searching Algorithms: Practical

- Searching Algorithm's Quiz

- Coding Exercise 1

- Coding Exercise 2


Sorting Algorithms

- Bubble Sort

- Bubble Sort Implementation

- Insertion Sort

- Insertion Sort Implementation

- Selection Sort

- Selection Sort Implementation

- Merge Sort

- Merge Sort Implementation

- Sorting Algorithms Big O

- Sorting Algorithms: Practical

- Sorting Algorithm's Quiz

- Leetcode Challenge - Count Pairs Whose Sum is Less than Target

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


Recursion

- Introduction to Recursion

- Call Stack

- Recursion Example: Factorial

- Recursion Big O

- Recursion: Practical

- Recursion's Quiz

- Leetcode Challenge - Fibonacci Number

- Leetcode Challenge - Fibonacci Number: Solution


Tree Traversal

- Introduction

- Inorder

- Inorder Implementation

- Preorder

- Preorder Implementation

- Postorder

- Postorder Implementation

- Tree Traversal Big O

- Tree Traversal: Practical

- Tree Traversal's Quiz

- Leetcode Challenge - Range Sum of BST

- Leetcode Challenge - Range Sum of BST: Solution


Graph Traversal

- Introduction

- BFS

- BFS Implementation

- DFS

- DFS Implementation

- Graph Traversal Big O

- Graph Traversal: Practical

- Graph Traversal's Quiz

- Leetcode Challenge - Find if Path Exists in Graph

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


Conclusion

- Final Thoughts


View Course on View:


Your download link for Coupon 1 will appear in 30 seconds.

Your download link for Coupon 2 will appear in 30 seconds.