The Complete Data Structures and Algorithms Course in Python

BY
Udemy

Master the complete concepts of data structures and algorithms in Python by taking this course offered by Udemy.

Mode

Online

Fees

₹ 699 4099

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course overview

The Complete Data Structures and Algorithms Course in Python is an online short programme created by Elshad Karimov, a Software Developer and Lead Instructor, that helps the students to develop a deep understanding of Data Structures and Algorithms from very beginning to the advanced level concepts. Through the programme, the learners also can prepare for the Python coding interviews. The course curriculum explores all the gamut of aspects of algorithms and data structures in Python such as Sort Algorithms, Searching Algorithms, Graph Algorithms, Python Lists, Big O, and many more.

The learners who look forward to joining the Complete Data Structures and Algorithms Course in Python online certification, administered by Udemy, must have basic skills in programming with Python. The online programme will provide the participants with interview preparation using 100+ Interview Questions asked by the technology giants including Microsoft, Amazon, Google, and Apple. The Complete Data Structures and Algorithms Course in Python certification also render the students practical exposure too by assigning various coding exercises and practical tests. The enrolled candidates will also be awarded by Udemy with a certificate of completion at the end. The interested students can enroll in the programme by making the payment of a one-time fee.

The highlights

  • Complete Online course
  • Offered by Udemy
  • 30-Day Money-Back Guarantee
  • Downloadable resources
  • Coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of completion

Program offerings

  • Full lifetime access
  • Access on mobile and tv
  • Certificate of completion
  • 44.5 hours on-demand video
  • 157 articles
  • 122 downloadable resources
  • 1 practice tests
  • 104 coding exercises

Course and certificate fees

Fees information
₹ 699  ₹4,099

The fees for The Complete Data Structures and Algorithms Course in Python is -

HeadAmount
Original PriceRs. 4099.00
Discounted PriceRs. 699.00


certificate availability

Yes

certificate providing authority

Udemy

Who it is for

What you will learn

Programming skills Knowledge of algorithms Knowledge of python

Through the Complete Data Structures and Algorithms Course in Python by Udemy, the candidates will learn to use and apply different algorithms and data structures along with the understanding of Recursion and Big O. Plus, the students, at the end of the course, will be able to become developers equipped with the basics of computer science.

The syllabus

Introduction

  • Curriculum Walkthrough
  • What are Data Structures?
  • What is an algorithm?
  • Why are Data Structures and Algorithms important?
  • Types of Data Structures
  • Types of Algorithms
  • Introduction to DS and Algorithms
  • Student Community

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?
  • Follow Me :)
  • Download the Resources
  • Feedback Time

Cracking Recursion Interview Questions

  • Question 1 - Sum of Digits
  • Question 2 - Power
  • Question 3 - Greatest Common Divisor
  • Question 4 - Decimal To Binary
  • Download the Resources
  • Feedback Time

Bonus CHALLENGING Recursion Problems

  • Important Note!
  • power
  • factorial
  • productofArray
  • recursiveRange
  • fib
  • SOLUTIONS PART 1
  • reverse
  • isPalindrome
  • someRecursive
  • flatten
  • SOLUTIONS PART 2
  • captalizeFirst
  • nestedEvenSum
  • capitalizeWords
  • stringifyNumbers
  • collectStrings
  • SOLUTION PART 2
  • Download the Resources

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?
  • Time Complexities
  • Download the Resources
  • Feedback Time

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

  • Question 1 - Product and Sum
  • Question 2 - Print Pairs
  • Question 3 - Print Unordered Pairs
  • Question 4 - Print Unordered Pairs 2 Arrays
  • Question 5 - Print Unordered Pairs 2 Arrays 100000 Units
  • Question 6 - Reverse
  • Question 7 - O(N) Equivalents
  • Question 8 - Factorial Complexity
  • Question 9 - Fibonacci Complexity
  • Question 10 - Powers of 2
  • Download the Resources
  • Feedback Time

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
  • Download the Resources
  • Feedback Time

Python Lists

  • What is a List? How to create it?
  • Accessing/Traversing a list
  • Update/Insert a List
  • Slice/Delete 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
  • Download the Resources
  • Feedback Time

PROJECT 1 - Arrays/Lists

  • Goals - what you will make by the end of this section
  • Calculate Average Temperature
  • Find the Days Above Average Temperature

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

  • Question 1 - Missing Number
  • Question 2 - Pairs / Two Sum - LeetCode 1
  • Question 3 - Finding a number in an Array
  • Question 4 - Max product of two int
  • Question 5 - Is Unique / Contains Duplicate - LeetCode 217
  • Question 6 - Permutation
  • Question 7 - Rotate Matrix / Image - LeetCode 48
  • Download the Resources
  • Feedback Time

CHALLENGING Array/List Problems

  • Middle Function
  • Solution to Middle Function
  • 2D Lists
  • Solution to 2D Lists
  • Best Score
  • Solution to Best Score
  • Missing Number
  • Solution to Missing Number
  • Duplicate Number
  • Solution to Duplicate Number
  • Pairs
  • Solution to Pairs

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
  • Download the Resources
  • Feedback Time

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
  • Download the Resources
  • Feedback Time

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
  • Time Complexity of Linked List vs Arrays
  • Download the Resources
  • Feedback Time

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
  • Delete Method in Circular Singlu Linked List
  • Deletion of entire Circular Singly Linked List
  • Time and Space Complexity of Circular Singly Linked List

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

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
  • Delete Entire Circular Doubly Linked List
  • Time and Space Complexity of Circular Doubly Linked List

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
  • Download the Resources
  • Feedback Time

Stack

  • What is a Stack?
  • Stack Operations
  • Create Stack using List without size limit
  • Operations on Stack using List (push, pop, peek, isEmpty, Delete)
  • Create Stack with limit (pop, push, peek, isFull, isEmpty, delete)
  • Create Stack using Linked List
  • Operation on Stack using Linked List (pop, push, peek, isEmpty, delete)
  • Time and Space Complexity of Stack using Linked List
  • When to use/avoid Stack
  • Stack Quiz
  • Download the Resources
  • Feedback Time

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, delete)
  • 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
  • Download the Resources
  • Feedback Time

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
  • Download Resources
  • Feedback Time

Tree / Binary Tree

  • What is a Tree?
  • Why Tree?
  • Tree Terminology
  • How to create 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)
  • Delete Entire Binary Tree (Python List)
  • Linked List vs Python List Binary Tree
  • Download the Resources
  • Feedback Time

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
  • Download the Resources
  • Feedback Time

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
  • Download the Resources
  • Feeback Time

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
  • Download the Resources
  • Feedback Time

Trie

  • What is a Trie? Why 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
  • Download the Resources
  • Feedback Tim

Hashing

  • What is Hashing? Why 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 DS
  • Download the Resources
  • Feedback Time

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
  • Download Resources
  • Feedback Time

Searching Algorithms

  • Introduction to Searching Algorithms
  • Linear Search
  • Linear Search in Python
  • Binary Search
  • Binary Search in Python
  • Time Complexity of Binary Search
  • Download Resources

Graph Algorithms

  • What is a Graph? Why Graph?
  • Graph Terminology
  • Types of Graph
  • Graph Representation
  • Create a graph using Python
  • Feedback Time
  • Download Resources

Graph Traversal - Breadth First Search and Depth First Search

  • Graph traversal - BFS
  • BFS Traversal in Python
  • Graph Traversal - DFS
  • DFS Traversal in Python
  • BFS Traversal vs DFS Traversal
  • Download Resources

Topological Sort Algorithm

  • Topological Sort
  • Topological Sort Algorithm
  • Topological Sort in Python
  • Download Resources

Single Source Shortest Path

  • Single Source Shortest Path Problem (SSSPP)
  • BFS for SSSPP
  • BFS for SSSPP in Python
  • Why does BFS not work with weighted Graph?
  • Why does DFS not work for SSSP?
  • Download Resources

Graph Algorithms - Dijsktra's Algorithm

  • Dijkstra's Algorithm for SSSP
  • Dijkstra's Algorithm in Python
  • Dijkstra Algorithm with negative cycle
  • Download Resources

Graph Algorithms -Bellman Ford Algorithm

  • Bellman Ford Algorithm
  • Bellman Ford Algorithm with negative cycle
  • Why Bellman Ford runs V-1 times?
  • Bellman Ford in Python
  • BFS vs Dijkstra vs Bellman Ford
  • Download Resources

All Pairs Shortest Path

  • All pairs shortest path problem
  • Dry run for All pair shortest path

Graph Algorithms - Floyd Warshall Algorithm

  • Floyd Warshall Algorithm
  • Why Floyd Warshall?
  • Floyd Warshall with negative cycle
  • Floyd Warshall in Python
  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall
  • Download Resources

Minimum Spanning Tree (Disjoint Set)

  • Minimum Spanning Tree
  • Disjoint Set
  • Disjoint Set in Python
  • Download Resources

Graph Algorithms - Kruskal and Prim's Algorithms

  • Kruskal Algorithm
  • Kruskal Algorithm in Python
  • Prim's Algorithm
  • Prim's Algorithm in Python
  • Prim's vs Kruskal
  • Download Resources

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

  • Introduction
  • Route Between Nodes
  • Solution to Route Between Nodes
  • Minimal Tree
  • Solution to Minimal Tree
  • List of Depths
  • Solution to List of Depths
  • Check Balanced - LeetCode 110
  • Solution to Check Balanced
  • Validate BST - LeetCode 98
  • Solution to Validate BST - LeetCode 98
  • In-order Successor in BST - LeetCode 285
  • Solution to Successor
  • Build Order
  • Solution to Build Order
  • First Common Ancestor - LeetCode 236
  • Solution to First Common Ancestor
  • Download Resources

Greedy Algorithms

  • What is Greedy Algorithm?
  • Greedy Algorithms (Insertion Sort, Selection Sort, Prim, Kruskal, Topological )
  • Activity Selection Problem
  • Activity Selection Problem in Python
  • Coin Change Problem
  • Coin Change Problem in Python
  • Fractional Knapsack Problem
  • Fractional Knapsack Problem in Python
  • Download the Resources

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
  • Download the Resources

Dynamic Programming

  • What is Dynamic Programming? (Overlapping property)
  • Where does the name of DP 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
  • Solution to Convert String using Bottom Up
  • Zero One Knapsack using Dynamic Programming
  • Zero One Knapsack - Top Down
  • Solution to Zero One Knapsack - Top Down
  • Zero One Knapsack - Bottom Up
  • Solution to Zero One Knapsack - Bottom Up

CHALLENGING Dynamic Programming Problems

  • NOTE ON THIS SECTION
  • Longest repeated Subsequence Length problem
  • Solution to Longest repeated Subsequence Length problem
  • Longest Common Subsequence Length problem
  • Solution to Longest Common Subsequence Length problem
  • Longest Common Subsequence problem
  • Solution to Longest Common Subsequence problem
  • Diff Utility
  • Solution to Diff Utility
  • Shortest Common Supersequence Problem
  • Solution to Shortest Common Supersequence Problem
  • Length of Longest Palindromic Subsequence
  • Solution to Length of Longest Palindromic Subsequence
  • Subset Sum Problem
  • Solution to Subset Sum Problem
  • Egg Dropping Puzzle
  • Solution to Egg Dropping Puzzle
  • Maximum Length Chain of Pairs
  • Solution to Maximum Length Chain of Pairs

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

Backtracking

  • VERY IMPORTANT NOTE! PLEASE READ!
  • What is Backtracking?
  • Backtracking vs Brute Force Approach
  • Backtracking
  • N - Queens Problem
  • N - Queens Problem in Python

The Wild West

  • VERY IMPORTANT NOTE! PLEASE READ!
  • Singly Linked List - Push
  • Solution to Singly Linked List - Push
  • Singly Linked List - Pop
  • Solution to Singly Linked List - Pop
  • Singly Linked List - Get
  • Solution to Singly Linked List - Get
  • Singly Linked List - Insert
  • Solution to Singly Linked List - Insert
  • Singly Linked List - Rotate
  • Solution to Singly Linked List - Rotate
  • Singly Linked List - Set
  • Solution to Singly Linked List - Set
  • Divide and Conquer - countZeroes
  • Solution to Divide and Conquer - countZeroes
  • Divide and Conquer - sortedFrequency
  • Solution to Divide and Conquer - sortedFrequency
  • Divide and Conquer - findRotatedIndex
  • Solution to Divide and Conquer - findRotatedIndex
  • Singly Linked List - Remove
  • Solution to Singly Linked List - Remove
  • Insertion Sort
  • Solution to Insertion Sort
  • Bubble Sort
  • Solution to Bubble Sort
  • Sorting with Pivot : Quicksort
  • Solution to Sorting with Pivot : Quicksort
  • Stack - Push
  • Solution to Stack - Push
  • Stack - Pop
  • Solution to Stack - Pop
  • Stack with Two Queues
  • Solution to Stack with Two Queues
  • Queue - Enqueue
  • Solution to Queue - Enqueue
  • Binary Search Tree - Insert
  • Solution to Binary Search Tree - Insert
  • Binary Search Tree - Find
  • Solution to Binary Search Tree - Find
  • Binary Search Tree - DFSPreOrder
  • Solution to Binary Search Tree - DFSPreOrder
  • Binary Search Tree - DFSInOrder
  • Solution to Binary Search Tree - DFSInOrder
  • Binary Search Tree - DFSPostOrder
  • Solution to Binary Search Tree - DFSPostOrder
  • Binary Search Tree - Remove
  • Solution to Binary Search Tree - Remove
  • Binary Search Tree - Check If Balanced
  • Solution to Binary Search Tree - Check If Balanced
  • Max Binary Heap - Insert
  • Solution to Max Binary Heap - Insert
  • Min Binary Heap - Insert
  • Solution to Min Binary Heap - Insert
  • Max Binary Heap - Extract Max
  • Solution to Max Binary Heap - Extract Max
  • Graph - Add Vertex
  • Solution to Graph - Add Vertex

Instructors

Mr Elshad Karimov
INSTRUCTOR
Freelancer

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books