Mô tả

Welcome to the Complete Data Structures and Algorithms in Python Bootcamp, the most modern, and the most complete Data Structures and Algorithms in Python course on the internet.

At 40+ hours, this is the most comprehensive course online to help you ace your coding interviews and learn about Data Structures and Algorithms in Python. You will see 100+ Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft and how to face Interviews with comprehensive visual explanatory video materials which will bring you closer towards landing the tech job of your dreams!

Learning Python is one of the fastest ways to improve your career prospects as it is one of the most in demand tech skills! This course will help you in better understanding every detail of Data Structures and how algorithms are implemented in high level programming language.

We'll take you step-by-step through engaging video tutorials and teach you everything you need to succeed as a professional programmer.

After finishing this course, you will be able to:

Learn basic algorithmic techniques such as greedy algorithms, binary search, sorting and dynamic programming to solve programming challenges.

Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications

Learn many of the algorithms commonly used to sort data, so your applications will perform efficiently when sorting large datasets

Learn how to apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces.


Why this course is so special and different from any other resource available online?


This course will take you from very beginning to a very complex and advanced topics in understanding Data Structures and Algorithms!

You will get video lectures explaining concepts clearly with comprehensive visual explanations throughout the course.

You will also see Interview Questions done at the top technology companies such as Apple,Amazon, Google and Microsoft.

I cover everything you need to know about technical interview process!


So whether you are interested in learning the top programming language in the world in-depth

And interested in learning the fundamental Algorithms, Data Structures and performance analysis that make up the core foundational skillset of every accomplished programmer/designer or software architect and is excited to ace your next technical interview this is the course for you!


And this is what you get by signing up today:


Lifetime access to 40+ hours of HD quality videos. No monthly subscription. Learn at your own pace, whenever you want

Friendly and fast support in the course Q&A whenever you have questions or get stuck

FULL money back guarantee for 30 days!


Who is this course for?

Self-taught programmers who have a basic knowledge in Python and want to be professional in Data Structures and Algorithms and begin interviewing in tech positions!

As well as students currently studying computer science and want supplementary material on Data Structures and Algorithms and interview preparation for after graduation!

As well as professional programmers who need practice for upcoming coding interviews.

And finally anybody interested in learning more about data structures and algorithms or the technical interview process!

This course is designed to help you to achieve your career goals. Whether you are looking to get more into Data Structures and Algorithms , increase your earning potential or just want a job with more freedom, this is the right course for you!

The topics that are covered in this course.

Section 1 - Introduction

  • What are Data Structures?

  • What is an algorithm?

  • Why are Data Structures and Algorithms important?

  • Types of Data Structures

  • Types of Algorithms

Section 2 - Recursion

  • What is Recursion?

  • Why do we need recursion?

  • How Recursion works?

  • Recursive vs Iterative Solutions

  • When to use/avoid Recursion?

  • How to write Recursion in 3 steps?

  • How to find Fibonacci numbers using Recursion?

Section 3 - Cracking Recursion Interview Questions

  • Question 1 - Sum of Digits

  • Question 2 - Power

  • Question 3 - Greatest Common Divisor

  • Question 4 - Decimal To Binary

Section 4 - Bonus CHALLENGING Recursion Problems (Exercises)

  • power

  • factorial

  • productofArray

  • recursiveRange

  • fib

  • reverse

  • isPalindrome

  • someRecursive

  • flatten

  • captalizeFirst

  • nestedEvenSum

  • capitalizeWords

  • stringifyNumbers

  • collectStrings

Section 5 - Big O Notation

  • Analogy and Time Complexity

  • Big O, Big Theta and Big Omega

  • Time complexity examples

  • Space Complexity

  • Drop the Constants and the non dominant terms

  • Add vs Multiply

  • How to measure the codes using Big O?

  • How to find time complexity for Recursive calls?

  • How to measure Recursive Algorithms that make multiple calls?

Section 6 - Top 10 Big O Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Product and Sum

  • Print Pairs

  • Print Unordered Pairs

  • Print Unordered Pairs 2 Arrays

  • Print Unordered Pairs 2 Arrays 100000 Units

  • Reverse

  • O(N)  Equivalents

  • Factorial Complexity

  • Fibonacci Complexity

  • Powers of 2

Section 7 - Arrays

  • What is an Array?

  • Types of Array

  • Arrays in Memory

  • Create an Array

  • Insertion Operation

  • Traversal Operation

  • Accessing an element of Array

  • Searching for an element in Array

  • Deleting an element from Array

  • Time and Space complexity of One Dimensional Array

  • One Dimensional Array Practice

  • Create Two Dimensional Array

  • Insertion - Two Dimensional Array

  • Accessing an element of Two Dimensional Array

  • Traversal - Two Dimensional Array

  • Searching for an element in Two Dimensional Array

  • Deletion - Two Dimensional Array

  • Time and Space complexity of Two Dimensional Array

  • When to use/avoid array

Section 8 - Python Lists

  • What is a List? How to create it?

  • Accessing/Traversing a list

  • Update/Insert a List

  • Slice/ from a List

  • Searching for an element in a List

  • List Operations/Functions

  • Lists and strings

  • Common List pitfalls and ways to avoid them

  • Lists vs Arrays

  • Time and Space Complexity of List

  • List Interview Questions

Section 9 - Cracking Array/List Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Question 1 - Missing Number

  • Question 2 - Pairs

  • Question 3 - Finding a number in an Array

  • Question 4 - Max product of two int

  • Question 5 - Is Unique

  • Question 6 - Permutation

  • Question 7 - Rotate Matrix

Section 10 - CHALLENGING Array/List Problems (Exercises)

  • Middle Function

  • 2D Lists

  • Best Score

  • Missing Number

  • Duplicate Number

  • Pairs

Section 11 - Dictionaries

  • What is a Dictionary?

  • Create a Dictionary

  • Dictionaries in memory

  • Insert /Update an element in a Dictionary

  • Traverse through a Dictionary

  • Search for an element in a Dictionary

  • Delete / Remove an element from a Dictionary

  • Dictionary Methods

  • Dictionary operations/ built in functions

  • Dictionary vs List

  • Time and Space Complexity of a Dictionary

  • Dictionary Interview Questions

Section 12 - Tuples

  • What is a Tuple? How to create it?

  • Tuples in Memory / Accessing an element of Tuple

  • Traversing a Tuple

  • Search for an element in Tuple

  • Tuple Operations/Functions

  • Tuple vs List

  • Time and Space complexity of Tuples

  • Tuple Questions

Section 13 - Linked List

  • What is a Linked List?

  • Linked List vs Arrays

  • Types of Linked List

  • Linked List in the Memory

  • Creation of Singly Linked List

  • Insertion in Singly Linked List in Memory

  • Insertion in Singly Linked List Algorithm

  • Insertion Method in Singly Linked List

  • Traversal of Singly Linked List

  • Search for a value in Single Linked List

  • Deletion of node from Singly Linked List

  • Deletion Method in Singly Linked List

  • Deletion of entire Singly Linked List

  • Time and Space Complexity of Singly Linked List

Section 14 - Circular Singly Linked List

  • Creation of Circular Singly Linked List

  • Insertion in Circular Singly Linked List

  • Insertion Algorithm in Circular Singly Linked List

  • Insertion method in Circular Singly Linked List

  • Traversal of Circular Singly Linked List

  • Searching a node in Circular Singly Linked List

  • Deletion of a node from Circular Singly Linked List

  • Deletion Algorithm in Circular Singly Linked List

  • Method in Circular Singly Linked List

  • Deletion of entire Circular Singly Linked List

  • Time and Space Complexity of Circular Singly Linked List

Section 15 - Doubly Linked List

  • Creation of Doubly Linked List

  • Insertion in Doubly Linked List

  • Insertion Algorithm in Doubly Linked List

  • Insertion Method in Doubly Linked List

  • Traversal of Doubly Linked List

  • Reverse Traversal of Doubly Linked List

  • Searching for a node in Doubly Linked List

  • Deletion of a node in Doubly Linked List

  • Deletion Algorithm in Doubly Linked List

  • Deletion Method in Doubly Linked List

  • Deletion of entire Doubly Linked List

  • Time and Space Complexity of Doubly Linked List

Section 16 - Circular Doubly Linked List

  • Creation of Circular Doubly Linked List

  • Insertion in Circular Doubly Linked List

  • Insertion Algorithm in Circular Doubly Linked List

  • Insertion Method in Circular Doubly Linked List

  • Traversal of Circular Doubly Linked List

  • Reverse Traversal of Circular Doubly Linked List

  • Search for a node in Circular Doubly Linked List

  • Delete a node from Circular Doubly Linked List

  • Deletion Algorithm in Circular Doubly Linked List

  • Deletion Method in Circular Doubly Linked List

  • Entire Circular Doubly Linked List

  • Time and Space Complexity of Circular Doubly Linked List

  • Time Complexity of Linked List vs Arrays

Section 17 - Cracking Linked List Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • Linked List Class

  • Question 1 - Remove Dups

  • Question 2 - Return Kth to Last

  • Question 3 - Partition

  • Question 4 - Sum Linked Lists

  • Question 5 - Intersection

Section 18 - Stack

  • What is a Stack?

  • Stack Operations

  • Create Stack using List without size limit

  • Operations on Stack using List (push, pop, peek, isEmpty, )

  • Create Stack with limit (pop, push, peek, isFull, isEmpty, )

  • Create Stack using Linked List

  • Operation on Stack using Linked List (pop, push, peek, isEmpty, )

  • Time and Space Complexity of Stack using Linked List

  • When to use/avoid Stack

  • Stack Quiz

Section 19 - Queue

  • What is Queue?

  • Queue using Python List - no size limit

  • Queue using Python List - no size limit , operations (enqueue, dequeue, peek)

  • Circular Queue - Python List

  • Circular Queue - Python List, Operations (enqueue, dequeue, peek, )

  • Queue - Linked List

  • Queue - Linked List, Operations (Create, Enqueue)

  • Queue - Linked List, Operations (Dequeue(), isEmpty, Peek)

  • Time and Space complexity of Queue using Linked List

  • List vs Linked List Implementation

  • Collections Module

  • Queue Module

  • Multiprocessing module

Section 20 - Cracking Stack and Queue Interview Questions (Amazon,Facebook, Apple, Microsoft)

  • Question 1 - Three in One

  • Question 2 - Stack Minimum

  • Question 3 - Stack of Plates

  • Question 4 - Queue via Stacks

  • Question 5 - Animal Shelter

Section 21 - Tree / Binary Tree

  • What is a Tree?

  • Why Tree?

  • Tree Terminology

  • How to create a basic tree in Python?

  • Binary Tree

  • Types of Binary Tree

  • Binary Tree Representation

  • Create Binary Tree (Linked List)

  • PreOrder Traversal Binary Tree (Linked List)

  • InOrder Traversal Binary Tree (Linked List)

  • PostOrder Traversal Binary Tree (Linked List)

  • LevelOrder Traversal Binary Tree (Linked List)

  • Searching for a node in Binary Tree (Linked List)

  • Inserting a node in Binary Tree (Linked List)

  • Delete a node from Binary Tree (Linked List)

  • Delete entire Binary Tree (Linked List)

  • Create Binary Tree (Python List)

  • Insert a value Binary Tree (Python List)

  • Search for a node in Binary Tree (Python List)

  • PreOrder Traversal Binary Tree (Python List)

  • InOrder Traversal Binary Tree (Python List)

  • PostOrder Traversal Binary Tree (Python List)

  • Level Order Traversal Binary Tree (Python List)

  • Delete a node from Binary Tree (Python List)

  • Entire Binary Tree (Python List)

  • Linked List vs Python List Binary Tree

Section 22 - Binary Search Tree

  • What is a Binary Search Tree? Why do we need it?

  • Create a Binary Search Tree

  • Insert a node to BST

  • Traverse BST

  • Search in BST

  • Delete a node from BST

  • Delete entire BST

  • Time and Space complexity of BST

Section 23 - AVL Tree

  • What is an AVL Tree?

  • Why AVL Tree?

  • Common Operations on AVL Trees

  • Insert a node in AVL (Left Left Condition)

  • Insert a node in AVL (Left Right Condition)

  • Insert a node in AVL (Right Right Condition)

  • Insert a node in AVL (Right Left Condition)

  • Insert a node in AVL (all together)

  • Insert a node in AVL (method)

  • Delete a node from AVL (LL, LR, RR, RL)

  • Delete a node from AVL (all together)

  • Delete a node from AVL (method)

  • Delete entire AVL

  • Time and Space complexity of AVL Tree

Section 24 - Binary Heap

  • What is Binary Heap? Why do we need it?

  • Common operations (Creation, Peek, sizeofheap) on Binary Heap

  • Insert a node in Binary Heap

  • Extract a node from Binary Heap

  • Delete entire Binary Heap

  • Time and space complexity of Binary Heap

Section 25 - Trie

  • What is a Trie? Why do we need it?

  • Common Operations on Trie (Creation)

  • Insert a string in Trie

  • Search for a string in Trie

  • Delete a string from Trie

  • Practical use of Trie

Section 26 - Hashing

  • What is Hashing? Why do we need it?

  • Hashing Terminology

  • Hash Functions

  • Types of Collision Resolution Techniques

  • Hash Table is Full

  • Pros and Cons of Resolution Techniques

  • Practical Use of Hashing

  • Hashing vs Other Data structures

Section 27 - Sort Algorithms

  • What is Sorting?

  • Types of Sorting

  • Sorting Terminologies

  • Bubble Sort

  • Selection Sort

  • Insertion Sort

  • Bucket Sort

  • Merge Sort

  • Quick Sort

  • Heap Sort

  • Comparison of Sorting Algorithms

Section 28 - Searching Algorithms

  • Introduction to Searching Algorithms

  • Linear Search

  • Linear Search in Python

  • Binary Search

  • Binary Search in Python

  • Time Complexity of Binary Search


Section 29 - Graph Algorithms

  • What is a Graph? Why Graph?

  • Graph Terminology

  • Types of Graph

  • Graph Representation

  • Create a graph using Python

  • Graph traversal - BFS

  • BFS Traversal in Python

  • Graph Traversal - DFS

  • DFS Traversal in Python

  • BFS Traversal vs DFS Traversal

  • Topological Sort

  • Topological Sort Algorithm

  • Topological Sort in Python

  • Single Source Shortest Path Problem (SSSPP)

  • BFS for Single Source Shortest Path Problem (SSSPP)

  • BFS for Single Source Shortest Path Problem (SSSPP) in Python

  • Why does BFS not work with weighted Graphs?

  • Why does DFS not work for SSSP?

  • Dijkstra's Algorithm for SSSP

  • Dijkstra's Algorithm in Python

  • Dijkstra Algorithm with negative cycle

  • Bellman Ford Algorithm

  • Bellman Ford Algorithm with negative cycle

  • Why does Bellman Ford run V-1 times?

  • Bellman Ford in Python

  • BFS vs Dijkstra vs Bellman Ford

  • All pairs shortest path problem

  • Dry run for All pair shortest path

  • Floyd Warshall Algorithm

  • Why Floyd Warshall?

  • Floyd Warshall with negative cycle,

  • Floyd Warshall in Python,

  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall,

  • Minimum Spanning Tree,

  • Disjoint Set,

  • Disjoint Set in Python,

  • Kruskal Algorithm,

  • Kruskal Algorithm in Python,

  • Prim's Algorithm,

  • Prim's Algorithm in Python,

  • Prim's vs Kruskal

Section 30 - Greedy Algorithms

  • What is Greedy Algorithm?

  • Well known Greedy Algorithms

  • Activity Selection Problem

  • Activity Selection Problem in Python

  • Coin Change Problem

  • Coin Change Problem in Python

  • Fractional Knapsack Problem

  • Fractional Knapsack Problem in Python

Section 31 - Divide and Conquer Algorithms

  • What is a Divide and Conquer Algorithm?

  • Common Divide and Conquer algorithms

  • How to solve Fibonacci series using Divide and Conquer approach?

  • Number Factor

  • Number Factor in Python

  • House Robber

  • House Robber Problem in Python

  • Convert one string to another

  • Convert One String to another in Python

  • Zero One Knapsack problem

  • Zero One Knapsack problem in Python

  • Longest Common Sequence Problem

  • Longest Common Subsequence in Python

  • Longest Palindromic Subsequence Problem

  • Longest Palindromic Subsequence in Python

  • Minimum cost to reach the Last cell problem

  • Minimum Cost to reach the Last Cell in 2D array using Python

  • Number of Ways to reach the Last Cell with given Cost

  • Number of Ways to reach the Last Cell with given Cost in Python

Section 32 - Dynamic Programming

  • What is Dynamic Programming? (Overlapping property)

  • Where does the name of DC come from?

  • Top Down with Memoization

  • Bottom Up with Tabulation

  • Top Down vs Bottom Up

  • Is Merge Sort Dynamic Programming?

  • Number Factor Problem using Dynamic Programming

  • Number Factor : Top Down and Bottom Up

  • House Robber Problem using Dynamic Programming

  • House Robber : Top Down and Bottom Up

  • Convert one string to another using Dynamic Programming

  • Convert String using Bottom Up

  • Zero One Knapsack using Dynamic Programming

  • Zero One Knapsack - Top Down

  • Zero One Knapsack - Bottom Up

Section 33 - CHALLENGING Dynamic Programming Problems

  • Longest repeated Subsequence Length problem

  • Longest Common Subsequence Length problem

  • Longest Common Subsequence  problem

  • Diff Utility

  • Shortest Common Subsequence  problem

  • Length of Longest Palindromic Subsequence

  • Subset Sum Problem

  • Egg Dropping Puzzle

  • Maximum Length Chain of Pairs

Section 34 - A Recipe for Problem Solving

  • Introduction

  • Step 1 - Understand the problem

  • Step 2 - Examples

  • Step 3 - Break it Down

  • Step 4 - Solve or Simplify

  • Step 5 - Look Back and Refactor


Bạn sẽ học được gì

Learn, implement, and use different Data Structures

Learn, implement and use different Algorithms

Become a better developer by mastering computer science fundamentals

Learn everything you need to ace difficult coding interviews

Cracking the Coding Interview with 100+ questions with explanations

Time and Space Complexity of Data Structures and Algorithms

Recursion

Big O

Yêu cầu

  • Basic Python Programming skills

Nội dung khoá học

53 sections

Introduction

11 lectures
Curriculum Walkthrough
08:31
What is a Data Structure?
03:31
What is an algorithm?
03:58
Why are Data Structures and Algorithms important?
03:45
Types of Data Structures
04:24
Types of Algorithms
02:09
Python Programming For Everyone
00:43
Introduction to DS and Algorithms
4 questions
Student Community
00:07
Lecture Notes
00:10
Code Editor
03:25

Big O Notation

14 lectures
What is Big O?
05:41
Big O Notations - Theta , Omega and Big O
04:51
Big O - O(1)
02:44
Big O - O(N)
02:51
Drop Constants
04:06
Big O - O(n^2)
04:15
Drop Non Dominant Terms
02:55
Big O - O(logN)
05:37
Space Complexity
06:58
Different Terms for Input - Add vs Multiply
03:56
How to measure the codes using Big O?
05:51
Time Complexities
4 questions
Download the Resources
00:09
Feedback Time
00:12

Arrays

21 lectures
What is an Array?
04:45
Types of Array
08:06
Arrays in Memory
07:09
Create an Array
08:14
Insertion to Array
04:44
Traversal Operation
03:57
Accessing an element of Array
08:46
Searching for an element in Array
05:14
Deleting an element from Array
03:52
Time and Space Complexity of One Dimensional Array
02:52
One Dimensional Array Practice
27:09
Create Two Dimensional Array
07:12
Insertion - Two Dimensional Array
09:09
Accessing an element of Two Dimensional Array
08:47
Traversal - Two Dimensional Array
07:30
Searching for an element in Two Dimensional Array
08:51
Deletion - Two Dimensional Array
04:58
Time and Space Complexity of 2D Array
04:03
When to use/avoid array
03:09
Download the Resources
00:09
Feedback Time
00:12

Python Lists

15 lectures
What is a List? How to create it?
06:07
Accessing/Traversing a list
10:11
Update/Insert a List
10:28
Slice/Delete from a List
09:10
Searching for an element in a List
07:21
List Operations/Functions
10:12
Lists and strings
04:07
Common List pitfalls and ways to avoid them
04:38
Lists vs Arrays
03:54
Time and Space Complexity of List
03:34
List Comprehension
07:03
Conditional List Comprehension
08:38
List Interview Questions
9 questions
Download the Resources
00:09
Feedback Time
00:12

PROJECT 1 - Arrays/Lists

3 lectures
Goals - what you will make by the end of this section
02:34
Calculate Average Temperature
05:08
Find the Days Above Average Temperature
05:10

Array/List - CODING EXERCISES - LeetCode - Cracking FAANG Interview Questions

25 lectures
Missing Number
1 question
Solution to Missing Number
00:35
Missing Number Explanation
04:23
Pairs / Two Sum - LeetCode 1
06:31
LeetCode Solution
01:20
Finding a number in an Array
03:19
Max Product of Two Integers
1 question
SOLUTION - Time and Space Complexity of Max Product of Two Integers
01:52
Middle Function
1 question
SOLUTION - Time and Space Complexity of Middle Function
00:54
2D Lists
1 question
SOLUTION - Time and Space Complexity of 2D Lists
00:46
Best Score
1 question
SOLUTION - Time and Space Complexity of Best Score
01:17
Duplicate Number
1 question
SOLUTION - Time and Space Complexity of Duplicate Number
00:58
Pairs
1 question
SOLUTION - Time and Space Complexity of Pairs
01:34
Contains Duplicate
1 question
SOLUTION - Time and Space Complexity of Contains Duplicate
01:20
Permutation
05:33
Rotate Matrix/ Image - LeetCode 48
1 question
SOLUTION - Time and Space Complexity of Rotate Matrix/Image
00:56
Download the Resources
00:09
Feedback Time
00:12

Top 10 Big O Interview Questions (Amazon, Facebook, Apple and Microsoft)

9 lectures
Question 1 - Product and Sum
03:03
Question 2 - Print Pairs
02:07
Question 3 - Print Unordered Pairs
03:47
Question 4 - Print Unordered Pairs 2 Arrays
01:53
Question 5 - Print Unordered Pairs 2 Arrays 100000 Units
01:46
Question 6 - Reverse
02:42
Question 7 - O(N) Equivalents
03:02
Download the Resources
00:09
Feedback Time
00:12

Dictionaries

15 lectures
What is a Dictionary?
04:07
Create a Dictionary
07:57
Dictionaries in memory
04:24
Insert /Update an element in a Dictionary
04:03
Traverse through a Dictionary
03:42
Search for an element in a Dictionary
03:57
Delete/ Remove an element from a Dictionary
04:32
Dictionary Methods
15:20
Dictionary Operations / Builtin Functions
06:47
Dictionary vs List
02:05
Time and Space Complexity of a Dictionary
03:33
Dictionary Comprehension
06:20
Dictionary Quiz
3 questions
Download the Resources
00:09
Feedback Time
00:12

Dictionary - CODING EXERCISES

12 lectures
Count Word Frequency
1 question
SOLUTION - Time and Space Complexity of Count Word Frequency
00:48
Common Keys
1 question
SOLUTION - Time and Space Complexity of Common Keys
01:19
Key with the Highest Value
1 question
SOLUTION - Time and Space Complexity of Key with the Highest Value
00:56
Reverse Key-Value Pairs
1 question
SOLUTION - Time and Space Complexity of Reverse Key-Value Pairs
00:55
Conditional Filter
1 question
SOLUTION - Time and Space Complexity of Conditional Filter
01:11
Same Frequency
1 question
SOLUTION - Time and Space Complexity of Same Frequency
01:20

Tuples

10 lectures
What is a Tuple? How to create it?
05:40
Tuples in Memory / Accessing an element of Tuple
05:33
Traversing a Tuple
02:08
Search for an element in Tuple
06:15
Tuple Operations/Functions
05:14
Tuple vs List
08:50
Time and Space complexity of Tuples
02:08
Tuple Questions
5 questions
Download the Resources
00:09
Feedback Time
00:12

Tuple - CODING EXERCISES

12 lectures
Sum and Product
1 question
SOLUTION - Time and Space Complexity of Sum and Product
01:26
Elementwise Sum
1 question
SOLUTION - Time and Space Complexity of Elementwise Sum
02:59
Insert at the Beginning
1 question
SOLUTION - Time and Space Complexity of Insert at the Beginning
00:54
Concatenate
1 question
SOLUTION - Time and Space Complexity of Concatenate
00:57
Diagonal
1 question
SOLUTION - Time and Space Complexity of Diagonal
01:06
Common Elements
1 question
SOLUTION - Time and Space Complexity of Common Elements
01:00

OOP Concepts - Classes, Objects, Attributes and Methods

6 lectures
What is OOP? Why we need it in this course?
07:11
OOP Concepts
04:44
Create Objects and Access Attributes and Methods
10:20
Classes
11:54
Class Attributes
23:02
Class Methods
09:06

Linked List

23 lectures
What is a Linked List?
06:32
Linked List vs Lists/Arrays
02:35
Types of Linked List
10:16
Linked List in the Memory
03:23
IMPORTANT NOTE
00:14
Node Class Constructor
06:17
Linked List Constructor - Creation of Singly Linked List
10:02
Insertion in Singly Linked List in Memory
03:28
Insert an Element at the end of Singly Linked List - Append method
12:39
Print Linked List - __str__
08:18
Insert an Element at the beginning of Singly Linked List - Prepend method
08:19
Insert Method in Singly Linked List
14:34
Traversal of Singly Linked List
05:42
Search Method in Singly Linked List
08:10
Get Method in Singly Linked List
07:07
Set Method in Singly Linked List
04:53
Pop First Method in Singly Linked List
08:44
Pop Method in Singly Linked List
07:42
Remove Method in Singly Linked List
10:26
Delete All Nodes of Singly Linked List
03:00
Time and Space Complexity of Singly Linked List
02:59
Download the Resources
00:09
Feedback Time
00:12

SLL - CODING EXERCISES

14 lectures
Create Simple Singly Linked List DS
1 question
Solution to Create SLL DS
03:02
Insertion at the Beginning of a Singly Linked List
1 question
Solution - Insertion at the Beginning of a Singly Linked List
02:24
Insertion at the End of a Singly Linked List
1 question
Solution - Insertion at the End of a Singly Linked List
02:26
Deletion from a Singly Linked List
1 question
Solution - Deletion from a Singly Linked List
03:15
Reverse a Singly Linked List
1 question
Solution - Reverse a Singly Linked List
01:39
Middle of a Singly Linked List
1 question
Solution - Middle of Singly Linked List
02:12
Remove Duplicates from a Singly Linked List
1 question
Solution - Remove Duplicates from a Singly Linked List
02:51

Singly Linked List - LEETCODE Questions

12 lectures
Merge Two Sorted Linked List
1 question
Solution - Merge Two Sorted Linked List
02:59
Remove Duplicates
1 question
Solution to Remove Duplicates
03:58
Remove Linked List Elements
1 question
Solution to Remove Linked List Elements
03:45
Reverse Linked List
1 question
Solution to Reverse Linked List
02:45
Palindrome Linked List
1 question
Solution to Palindrome Linked List
03:03
Middle of the Linked List
1 question
Solution to Middle of the Linked List
02:17

Circular Singly Linked List

15 lectures
IMPORTANT NOTE
00:14
What is Circular Singly Linked List? CSLL Class
10:03
Append Method - Circular Singly Linked List
09:32
Print Circular Singly Linked List
07:55
Prepend Method - Circular Singly Linked List
09:57
Insert Method - Circular Singly Linked List
16:10
Traversal of Circular Singly Linked List
05:11
Search Method - Circular Singly Linked List
05:00
Get Method - Circular Singly Linked List
07:51
Set Method - Circular Singly Linked List
04:29
Pop First Method - Circular Singly Linked List
08:21
Pop Method - Circular Singly Linked List
07:54
Remove Method - Circular Singly Linked List
08:44
Delete All Nodes Circular Singly Linked List
04:12
Time and Space Complexity of Circular Singly Linked List
02:26

Circular Singly Linked List - LEETCODE Questions

14 lectures
Implement a Circular Singly Linked List
1 question
Solution - Implement a Circular Singly Linked List
02:10
Delete a Node from a Circular Singly Linked List
1 question
Solution - Delete a Node from a Circular Singly Linked List
03:06
Count the Number of Nodes
1 question
Solution - Count the Number of Nodes
03:14
Split a Circular Linked List into Two Equal Halves
1 question
Solution - Split a Circular Linked List into Two Halves
02:45
Check if a Circular Linked List is Sorted
1 question
Solution - Check if a Circular Linked List is Sorted
01:57
Insert into a Sorted Circular Linked List
1 question
Solution - Insert into a Sorted Circular Linked List
01:37
Josephus Circle using Circular Linked List
1 question
Solution - Josephus Circle
02:19

Doubly Linked List

15 lectures
IMPORTANT NOTE
00:14
What is Doubly Linked List? Node Class Constructor
07:27
Append Method in Doubly Linked List
07:03
__str__ Method DLL
04:44
Prepend Method Doubly Linked List
07:25
Traverse Method Doubly Linked List
03:44
Reverse Traverse Method Doubly Linked List
03:56
Search Method Doubly Linked List
05:25
Get Method Doubly Linked List
09:10
Set Method Doubly Linked List
04:19
Insert Method Doubly Linked List
08:16
Pop First Method Doubly Linked List
06:32
Pop Method Doubly Linked List
05:16
Remove Method Doubly Linked List
08:31
Time and Space Complexity of Doubly Linked List
02:32

Circular Doubly Linked List

16 lectures
IMPORTANT NOTE
00:14
Circular Doubly Linked List Constructor
09:21
Append Method - Circular Doubly Linked List
10:46
__str__ method - Circular Doubly Linked List
08:09
Prepend Method - Circular Doubly Linked List
08:59
Traverse Method - Circular Doubly Linked List
04:16
Reverse Traverse Method - Circular Doubly Linked List
04:12
Search Method - Circular Doubly Linked List
05:07
Get Method - Circular Doubly Linked List
06:50
Set Method - Circular Doubly Linked List
03:46
Insert Method - Circular Doubly Linked List
07:28
Pop First Method - Circular Doubly Linked List
07:01
Pop Method - Circular Doubly Linked List
06:04
Remove Method - Circular Doubly Linked List
08:00
Delete All Method - Circular Doubly Linked List
01:34
Time and Space Complexity of Circular Doubly Linked List
02:06

Cracking Linked List Interview Questions (Amazon, Facebook, Apple and Microsoft)

9 lectures
Linked List Class
12:49
Remove Duplicates
1 question
Solution to Remove Duplicates
04:32
Question 2 - Return Kth to Last
07:06
Question 3 - Partition
07:57
Question 4 - Sum Linked Lists
08:00
Question 5 - Intersection
11:06
Download the Resources
00:09
Feedback Time
00:12

Stack

14 lectures
What is a Stack?
05:26
Stack Operations
05:42
Create Stack using List without size limit
03:38
NEW __str__ Method
03:08
Operations on Stack using List (push, pop, peek, isEmpty, Delete)
08:23
Create Stack with limit (pop, push, peek, isFull, isEmpty, delete)
09:30
Create Stack using Linked List
05:10
Linked List for Stack
02:09
Operation on Stack using Linked List (pop, push, peek, isEmpty, delete)
09:20
Time and Space Complexity of Stack using Linked List
03:25
When to use/avoid Stack
01:49
Stack Quiz
5 questions
Download the Resources
00:09
Feedback Time
00:12

Queue

15 lectures
What is Queue?
04:57
Queue using Python List - no size limit
07:43
Queue using Python List - no size limit , operations (enqueue, dequeue, peek)
14:37
Circular Queue - Python List
06:43
Circular Queue - Python List, Operations (enqueue, dequeue, peek, delete)
17:49
Queue - Linked List
08:15
Queue - Linked List, Operations (Create, Enqueue)
08:23
Queue - Linked List, Operations (Dequeue(), isEmpty, Peek)
07:57
Time and Space complexity of Queue using Linked List
02:55
List vs Linked List Implementation
03:32
Collections Module
05:42
Queue Module
05:52
Multiprocessing module
02:15
Download the Resources
00:09
Feedback Time
00:12

Cracking Stack and Queue Interview Questions (Amazon,Facebook, Apple, Microsoft)

7 lectures
Question 1 - Three in One
12:39
Question 2 - Stack Minimum
09:49
Question 3 - Stack of Plates
08:24
Question 4 - Queue via Stacks
06:26
Question 5 - Animal Shelter
07:33
Download Resources
00:09
Feedback Time
00:12

Recursion

11 lectures
What is Recursion?
06:24
Why do we need recursion?
03:46
How Recursion works?
10:27
Recursive vs Iterative Solutions
05:03
When to use/avoid Recursion?
06:58
How to write Recursion in 3 steps?
19:43
How to find Fibonacci numbers using Recursion?
15:31
How to find time complexity for Recursive calls?
09:52
How to measure Recursive Algorithms that make multiple calls?
04:33
Download the Resources
00:09
Feedback Time
00:12

Cracking Recursion Interview Questions

6 lectures
Question 1 - Sum of Digits
12:27
Question 2 - Power
09:21
Question 3 - Greatest Common Divisor
10:40
Question 4 - Decimal To Binary
10:52
Download the Resources
00:09
Feedback Time
00:12

Bonus CHALLENGING Recursion Problems

19 lectures
Important Note!
00:10
power
1 question
factorial
1 question
productofArray
1 question
recursiveRange
1 question
fib
1 question
SOLUTIONS PART 1
00:15
reverse
1 question
isPalindrome
1 question
someRecursive
1 question
flatten
1 question
SOLUTIONS PART 2
00:17
captalizeFirst
1 question
nestedEvenSum
1 question
capitalizeWords
1 question
stringifyNumbers
1 question
collectStrings
1 question
SOLUTION PART 2
00:24
Download the Resources
00:09

Tree / Binary Tree

29 lectures
What is a Tree?
07:36
Why Tree?
02:58
Tree Terminology
05:10
How to create basic tree in Python?
06:42
__str__ function for Tree - Explanation
01:43
Binary Tree
02:21
Types of Binary Tree
03:42
Binary Tree Representation
05:56
Create Binary Tree (Linked List)
03:55
PreOrder Traversal Binary Tree (Linked List)
11:11
InOrder Traversal Binary Tree (Linked List)
08:20
PostOrder Traversal Binary Tree (Linked List)
08:22
LevelOrder Traversal Binary Tree (Linked List)
11:25
Searching for a node in Binary Tree (Linked List)
08:02
Inserting a node in Binary Tree (Linked List)
10:19
Delete a node from Binary Tree (Linked List)
17:11
Delete entire Binary Tree (Linked List)
03:23
Create Binary Tree (Python List)
06:05
Insert a value Binary Tree (Python List)
05:42
Search for a node in Binary Tree (Python List)
04:09
PreOrder Traversal Binary Tree (Python List)
05:44
InOrder Traversal Binary Tree (Python List)
04:33
PostOrder Traversal Binary Tree (Python List)
03:46
Level Order Traversal Binary Tree (Python List)
03:38
Delete a node from Binary Tree (Python List)
06:04
Delete Entire Binary Tree (Python List)
02:06
Linked List vs Python List Binary Tree
04:25
Download the Resources
00:09
Feedback Time
00:12

Binary Search Tree

10 lectures
What is a Binary Search Tree? Why do we need it?
03:30
Create a Binary Search Tree
03:09
Insert a node to BST
09:19
Traverse BST
12:13
Search in BST
05:53
Delete a node from BST
11:46
Delete entire BST
02:56
Time and Space complexity of BST
03:10
Download the Resources
00:09
Feedback Time
00:12

AVL Tree

16 lectures
What is an AVL Tree?
06:15
Why AVL Tree?
04:55
Common Operations on AVL Trees
13:00
Insert a node in AVL (Left Left Condition)
11:40
Insert a node in AVL (Left Right Condition)
08:18
Insert a node in AVL (Right Right Condition)
07:00
Insert a node in AVL (Right Left Condition)
06:26
Insert a node in AVL (all together)
13:30
Insert a node in AVL (method)
15:41
Delete a node from AVL (LL, LR, RR, RL)
10:04
Delete a node from AVL (all together)
07:04
Delete a node from AVL (method)
11:03
Delete entire AVL
03:14
Time and Space complexity of AVL Tree
04:50
Download the Resources
00:09
Feeback Time
00:12

Binary Heap

8 lectures
What is Binary Heap? Why do we need it?
07:49
Common operations (Creation, Peek, sizeofheap) on Binary Heap
12:47
Insert a node in Binary Heap
14:45
Extract a node from Binary Heap
14:49
Delete entire Binary Heap
02:01
Time and space complexity of Binary Heap
04:02
Download the Resources
00:09
Feedback Time
00:12

Trie

8 lectures
What is a Trie? Why we need it?
09:13
Common Operations on Trie (Creation)
03:40
Insert a string in Trie
08:25
Search for a string in Trie
06:26
Delete a string from Trie
14:33
Practical use of Trie
02:14
Download the Resources
00:09
Feedback Time
00:12

Hashing

10 lectures
What is Hashing? Why we need it?
05:39
Hashing Terminology
03:39
Hash Functions
08:07
Types of Collision Resolution Techniques
10:09
Hash Table is Full
03:27
Pros and Cons of Resolution Techniques
05:10
Practical Use of Hashing
04:17
Hashing vs Other DS
02:37
Download the Resources
00:09
Feedback Time
00:12

Sort Algorithms

17 lectures
What is Sorting?
03:03
Types of Sorting
06:51
Sorting Terminologies
05:09
Bubble Sort
11:58
Selection Sort
10:38
Insertion Sort
11:12
Bucket Sort
14:05
Bucket Sort with Negative Numbers
01:43
Merge Sort
14:29
QuickSort Overview
06:00
Pivot Function Overview
05:23
Pivot Function Implementation
08:02
QuickSort Algorithm Implementation
06:43
Heap Sort
15:23
Comparison of Sorting Algorithms
01:29
Download Resources
00:09
Feedback Time
00:12

Searching Algorithms

7 lectures
Introduction to Searching Algorithms
01:44
Linear Search
04:00
Linear Search in Python
05:23
Binary Search
03:03
Binary Search in Python
10:43
Time Complexity of Binary Search
05:14
Download Resources
00:09

Graph Algorithms

11 lectures
What is a Graph? Why Graph?
05:00
Graph Terminology
05:19
Types of Graph
05:52
Graph Representation
08:17
Create a graph using Python
05:59
Create Graph using Python - Add Vertex
09:41
Add Edge
06:21
Remove Edge
08:49
Remove Vertex
07:30
Feedback Time
00:12
Download Resources
00:09

Graph Traversal - Breadth First Search and Depth First Search

6 lectures
Graph Traversal - Breadth First Search (BFS)
12:22
Breadth First Search (BFS) in Python
07:33
Graph Traversal - Depth First Search (DFS)
09:22
DFS Traversal in Python
04:41
BFS Traversal vs DFS Traversal
03:48
Download Resources
00:09

Topological Sort Algorithm

4 lectures
Topological Sort
02:53
Topological Sort Algorithm
06:39
Topological Sort in Python
08:39
Download Resources
00:09

Single Source Shortest Path

6 lectures
Single Source Shortest Path Problem (SSSPP)
05:25
BFS for SSSPP
06:01
BFS for SSSPP in Python
07:24
Why does BFS not work with weighted Graph?
02:46
Why does DFS not work for SSSP?
01:49
Download Resources
00:09

Graph Algorithms - Dijsktra's Algorithm

7 lectures
Dijkstra's Algorithm for SSSP
06:34
Dijkstra's Algorithm Visualization
11:52
Dijkstra Implementation Part 1
11:32
Dijkstra Implementation Part 2
17:24
Dijkstra Algorithm Testing
07:47
Dijkstra Algorithm with negative cycle
03:58
Download Resources
00:09

Graph Algorithms -Bellman Ford Algorithm

6 lectures
Bellman Ford Algorithm
10:31
Bellman Ford Algorithm with negative cycle
05:17
Why Bellman Ford runs V-1 times?
04:20
Bellman Ford in Python
07:55
BFS vs Dijkstra vs Bellman Ford
03:37
Download Resources
00:09

All Pairs Shortest Path

2 lectures
All pairs shortest path problem
04:22
Dry run for All pair shortest path
04:24

Graph Algorithms - Floyd Warshall Algorithm

6 lectures
Floyd Warshall Algorithm
07:41
Why Floyd Warshall?
04:49
Floyd Warshall with negative cycle
02:33
Floyd Warshall in Python
05:42
BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall
02:42
Download Resources
00:09

Minimum Spanning Tree (Disjoint Set)

4 lectures
Minimum Spanning Tree
04:33
Disjoint Set
02:55
Disjoint Set in Python
07:54
Download Resources
00:09

Graph Algorithms - Kruskal and Prim's Algorithms

6 lectures
Kruskal Algorithm
06:26
Kruskal Algorithm in Python
07:30
Prim's Algorithm
05:41
Prim's Algorithm in Python
06:03
Prim's vs Kruskal
03:34
Download Resources
00:09

Cracking Trees and Graphs Top Interview Questions (Apple, Amazon, Facebook)

18 lectures
Introduction
00:32
Route Between Nodes
1 question
Solution to Route Between Nodes
08:21
Minimal Tree
1 question
Solution to Minimal Tree
11:04
List of Depths
1 question
Solution to List of Depths
15:31
Check Balanced - LeetCode 110
1 question
Solution to Check Balanced
10:18
Validate BST - LeetCode 98
1 question
Solution to Validate BST - LeetCode 98
10:15
In-order Successor in BST - LeetCode 285
1 question
Solution to Successor
10:05
Build Order
1 question
Solution to Build Order
22:50
First Common Ancestor - LeetCode 236
1 question
Solution to First Common Ancestor
12:55
Download Resources
00:09

Greedy Algorithms

9 lectures
What is Greedy Algorithm?
05:36
Greedy Algorithms (Insertion Sort, Selection Sort, Prim, Kruskal, Topological )
08:30
Activity Selection Problem
05:37
Activity Selection Problem in Python
04:44
Coin Change Problem
04:26
Coin Change Problem in Python
04:06
Fractional Knapsack Problem
05:22
Fractional Knapsack Problem in Python
07:06
Download the Resources
00:09

Divide and Conquer Algorithms

20 lectures
What is a Divide and Conquer Algorithm?
06:58
Common Divide and Conquer algorithms
06:51
How to solve Fibonacci series using Divide and Conquer approach?
04:59
Number Factor
06:26
Number Factor in Python
02:50
House Robber
07:11
House Robber Problem in Python
04:18
Convert one string to another
06:15
Convert One String to another in Python
06:26
Zero One Knapsack problem
05:11
Zero One Knapsack problem in Python
06:42
Longest Common Sequence Problem
06:23
Longest Common Subsequence in Python
03:43
Longest Palindromic Subsequence Problem
05:47
Longest Palindromic Subsequence in Python
03:38
Minimum cost to reach the Last cell problem
05:02
Minimum Cost to reach the Last Cell in 2D array using Python
02:48
Number of Ways to reach the Last Cell with given Cost
05:16
Number of Ways to reach the Last Cell with given Cost in Python
04:25
Download the Resources
00:09

Dynamic Programming

18 lectures
What is Dynamic Programming? (Overlapping property)
04:57
Where does the name of DP come from?
02:08
Top Down with Memoization
10:13
Bottom Up with Tabulation
05:57
Top Down vs Bottom Up
04:17
Is Merge Sort Dynamic Programming?
04:29
Number Factor Problem using Dynamic Programming
12:05
Number Factor : Top Down and Bottom Up
06:31
House Robber Problem using Dynamic Programming
10:23
House Robber : Top Down and Bottom Up
06:35
Convert one string to another using Dynamic Programming
05:30
Convert String using Bottom Up
1 question
Solution to Convert String using Bottom Up
00:14
Zero One Knapsack using Dynamic Programming
08:30
Zero One Knapsack - Top Down
1 question
Solution to Zero One Knapsack - Top Down
00:18
Zero One Knapsack - Bottom Up
1 question
Solution to Zero One Knapsack - Bottom Up
00:17

CHALLENGING Dynamic Programming Problems

19 lectures
NOTE ON THIS SECTION
00:11
Longest repeated Subsequence Length problem
1 question
Solution to Longest repeated Subsequence Length problem
00:21
Longest Common Subsequence Length problem
1 question
Solution to Longest Common Subsequence Length problem
00:16
Longest Common Subsequence problem
1 question
Solution to Longest Common Subsequence problem
01:11
Diff Utility
1 question
Solution to Diff Utility
01:04
Shortest Common Supersequence Problem
1 question
Solution to Shortest Common Supersequence Problem
00:17
Length of Longest Palindromic Subsequence
1 question
Solution to Length of Longest Palindromic Subsequence
00:12
Subset Sum Problem
1 question
Solution to Subset Sum Problem
00:21
Egg Dropping Puzzle
1 question
Solution to Egg Dropping Puzzle
00:35
Maximum Length Chain of Pairs
1 question
Solution to Maximum Length Chain of Pairs
00:14

A Recipe for Problem Solving

6 lectures
Introduction
03:01
Step 1 - Understand the problem
05:45
Step 2 - Examples
05:37
Step 3 - Break it Down
07:03
Step 4 - Solve or Simplify
08:56
Step 5 - Look Back and Refactor
06:35

Backtracking

6 lectures
VERY IMPORTANT NOTE! PLEASE READ!
00:06
What is Backtracking?
10:01
Backtracking vs Brute Force Approach
04:34
Backtracking
3 questions
N - Queens Problem
09:38
N - Queens Problem in Python
17:26

The Wild West

57 lectures
VERY IMPORTANT NOTE! PLEASE READ!
00:09
Singly Linked List - Push
1 question
Solution to Singly Linked List - Push
00:12
Singly Linked List - Pop
1 question
Solution to Singly Linked List - Pop
00:27
Singly Linked List - Get
1 question
Solution to Singly Linked List - Get
00:21
Singly Linked List - Insert
1 question
Solution to Singly Linked List - Insert
00:38
Singly Linked List - Rotate
1 question
Solution to Singly Linked List - Rotate
00:30
Singly Linked List - Set
1 question
Solution to Singly Linked List - Set
00:24
Divide and Conquer - countZeroes
1 question
Solution to Divide and Conquer - countZeroes
00:10
Divide and Conquer - sortedFrequency
1 question
Solution to Divide and Conquer - sortedFrequency
02:32
Divide and Conquer - findRotatedIndex
1 question
Solution to Divide and Conquer - findRotatedIndex
00:24
Singly Linked List - Remove
1 question
Solution to Singly Linked List - Remove
00:34
Insertion Sort
1 question
Solution to Insertion Sort
00:11
Bubble Sort
1 question
Solution to Bubble Sort
00:11
Sorting with Pivot : Quicksort
1 question
Solution to Sorting with Pivot : Quicksort
00:18
Stack - Push
1 question
Solution to Stack - Push
00:11
Stack - Pop
1 question
Solution to Stack - Pop
00:21
Stack with Two Queues
1 question
Solution to Stack with Two Queues
00:31
Queue - Enqueue
1 question
Solution to Queue - Enqueue
00:15
Binary Search Tree - Insert
1 question
Solution to Binary Search Tree - Insert
00:14
Binary Search Tree - Find
1 question
Solution to Binary Search Tree - Find
00:21
Binary Search Tree - DFSPreOrder
1 question
Solution to Binary Search Tree - DFSPreOrder
00:21
Binary Search Tree - DFSInOrder
1 question
Solution to Binary Search Tree - DFSInOrder
00:20
Binary Search Tree - DFSPostOrder
1 question
Solution to Binary Search Tree - DFSPostOrder
00:20
Binary Search Tree - Remove
1 question
Solution to Binary Search Tree - Remove
00:37
Binary Search Tree - Check If Balanced
1 question
Solution to Binary Search Tree - Check If Balanced
00:23
Max Binary Heap - Insert
1 question
Solution to Max Binary Heap - Insert
00:21
Min Binary Heap - Insert
1 question
Solution to Min Binary Heap - Insert
00:21
Max Binary Heap - Extract Max
1 question
Solution to Max Binary Heap - Extract Max
00:54
Graph - Add Vertex
1 question
Solution to Graph - Add Vertex
00:04

My Other Courses

1 lectures
Bonus Lecture
00:07

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.