Best Python Course in Bangalore
What if we told you, the ‘Data Structures and Algorithms in Python’ course at Code and Debug is designed for aspiring IT professionals like you?
- Learn Python fundamentals
- Master algorithmic techniques
- With an industry-aligned curriculum
- Hands-on experience with real-world projects
- Industry-leading expert instructors
Become an expert in solving real-world problems with your code & get ready to crack every coding assessment & tech interview.
Subscribe to Updates
Get the latest creative news from FooBar about art, design and business.
Course Overview
Master DSA in Python in this comprehensive course designed for beginners, intermediate as well as experienced developers. Get hands-on experience on Python fundamentals, essential data structures (arrays, linked lists, trees, graphs), along with algorithms like sorting, recursion & dynamic programming in just 4 months.
Crack coding interviews with ease & acquire the necessary skills required for high-paying tech jobs.

15000+ Students
cracked interviews at top product-based companies.

Community-driven Learning
for enhanced retention, networking & personal development.

Real-time Feedback
helps you easily find areas that need improvement.

Rated 4.8+
for clearing technical interviews and placement exams.
Course Curriculum
At Code & Debug, we believe in delivering a well-rounded, thorough learning experience. One that doesn’t just hover upon topics but covers every crucial aspect of Data Structures and Algorithms (DSA) in detail. Our syllabus is designed to take you from foundational concepts to advanced problem-solving techniques. Here’s what you’ll be learning:
1. Python Installation
-
Installation of Python
-
Installation of VS Code
-
Installing VS Code extensions for code productivity
2. Basic Syntax, Variables and Data Types
-
Basic syntax of print statement
-
Introduction to Variables and Data Types
-
Type casting or Type Conversion
-
Truthy and Falsy Values
3. Operators in Python
-
6 Different types of operators in Python
-
Using Operators using Truthy and Falsy Values
4. Conditional Statements
-
Introduction to IF ELSE statements
-
Using ELIF statements
-
Code flow of multiple IF / ELIF statements
-
Solving basic interview questions
5. Loops in Python
-
Starting with While Loops
-
Logic buildup using While loops
-
Starting with For Loops
-
Solving questions like Prime numbers in range, factors count, factorial and much more advance level questions based on loops
-
Number patterns, Start patterns and more
6. Introduction to List and Tuple Data Type
-
What are Lists? And its uses
-
Mutable vs Immutable
-
Indexing in Lists
-
Iterate by Index and Iterate by Value
-
Updating List Elements
-
List Methods
-
Logic buildup questions based on Lists
-
Tuple vs Lists
7. Introduction to String Data Type
-
What are Strings?
-
Indexing in Strings
-
Iterate by Index and Iterate by Value
-
String Methods (Split, Join and more)
-
Logic buildup questions based on Strings
8. Introduction to Dictionary Data Type
-
What are Dictionary? And when it is used?
-
Iterate by Key and Values in Dictionary
-
Dictionary Methods such as update, pop, items and more
-
Logic buildup questions based on Dictionary
-
Frequency Dictionary questions
9. Introduction to Set Data Type
-
What are Set? And when it is used?
-
Difference between Sets and Dictionary
-
Sets Methods
-
Logic buildup questions based on Sets
10. Functions in Python
-
What are Functions?
-
Syntax of writing a function
-
With parameters and with return Functions
-
Default Parameters
-
Required Parameters
-
Named Parameters
-
Args and Kwargs
-
Returning multiple elements
-
Local vs Global Variables
-
Pass by Reference and Pass by Value
11. Exception Handling
-
How to handle exceptions
-
Raising an error
-
Try Except Clauses
12. OOPS Concepts
-
What is OOP?
-
Procedural programming vs OOP
-
Classes
-
Objects
-
Inheritance, Polymorphism, Abstraction, Encapsulation
-
Working with List of Objects
-
Banking Application
-
Library Application
13. File Handling
-
Different modes to open a file
-
Read, Write and Append
-
Questions based on File Handling
-
Combining two or more files
-
Binary Files
14. Introduction to Data Structures and Algorithms
-
Overview of DSA
-
Importance of DSA in Problem Solving
-
Big O Notation and Time Complexity
15. Basic Maths Logic Buildup
-
Count Digits
-
Reverse a number
-
Check palindrome
-
GCD or HCF
-
Armstrong Number
-
Print all Divisors of a number
-
Check Prime
16. Recursion Introduction
-
Print 1 to N without Loop
-
Print N times with Recursion
-
Print N to 1 without Loop
-
Sum of first N natural numbers without Loop
-
Factorial of N numbers
-
Reverse an Array without Loop
-
Check if String is palindrome
-
Fibonacci Series
17. Hashing Concept
-
Learn basics of hashing
-
Count Frequency in a range
-
Highest / Lowest Frequency Elements
18. Different types of Sorting
-
Selection Sort
-
Bubble Sort
-
Insertion Sort
-
Merge Sort
-
Recursive Bubble Sort
-
Recursive Insertion Sort
-
Quick Sort
19. Problems on Arrays / Lists
Easy Level Problems
-
Largest Element in an Array
-
Second Largest Element in an Array without sorting
-
Check if the array is sorted
-
Remove duplicates from Sorted array
-
Left Rotate an array by one place
-
Right rotate an array by K places
-
Move Zeros to end
-
Linear Search
-
Merge 2 sorted Arrays
-
Find missing number in an array
-
Maximum Consecutive Ones
-
Find the number that appears once, and other numbers twice.
Medium Level Problems
-
Longest subarray with given sum K(positives)
-
Longest subarray with sum K (Positives + Negatives)
-
2Sum Problem
-
Sort an array of 0’s 1’s and 2’s
-
Majority Element (>n/2 times)
-
Kadane’s Algorithm, maximum subarray sum
-
Print subarray with maximum subarray sum
-
Stock Buy and Sell
-
Rearrange the array in alternating positive and negative items
-
Next Permutation
-
Leaders in an Array problem
-
Longest Consecutive Sequence in an Array
-
Set Matrix Zeros
-
Rotate Matrix by 90 degrees
-
Print the matrix in spiral manner
-
Count subarrays with given sum
Hard Level Problems
-
Pascals Triangle
-
Majority Element (n/3 times)
-
3-Sum Problem
-
4-Sum Problem
-
Largest Subarray with 0 Sum
-
Count number of subarrays with given xor K
-
Merge Overlapping Subintervals
-
Merge two sorted arrays without extra space
-
Find the repeating and missing number
-
Count Inversions
-
Reverse Pairs
-
Maximum Product Subarray
20. Binary Search
Problems based on 1D Lists
-
Binary Search to find X in sorted array
-
Implement Lower Bound
-
Implement Upper Bound
-
Search Insert Position
-
Floor/Ceil in Sorted Array
-
Find the first or last occurrence of a given number in a sorted array
-
Count occurrences of a number in a sorted array with duplicates
-
Search in Rotated Sorted Array I
-
Search in Rotated Sorted Array II
-
Find minimum in Rotated Sorted Array
-
Find out how many times has an array been rotated
-
Single element in a Sorted Array
-
Find peak element
Problems based on Answers
-
Find square root of a number in log n
-
Find the Nth root of a number using binary search
-
Koko Eating Bananas
-
Minimum days to make M bouquets
-
Find the smallest Divisor
-
Capacity to Ship Packages within D Days
-
Kth Missing Positive Number
-
Aggressive Cows
-
Book Allocation Problem
-
Split array – Largest Sum
-
Painter’s partition
-
Minimize Max Distance to Gas Station
-
Median of 2 sorted arrays
-
Kth element of 2 sorted arrays
21. Strings
Easy Level Problems
-
Remove outermost Paranthesis
-
Reverse words in a given string / Palindrome Check
-
Largest odd number in a string
-
Longest Common Prefix
-
Isomorphic String
-
Check whether one string is a rotation of another
-
Check if two strings are anagram of each other
Medium Level Problems
-
Sort Characters by frequency
-
Maximum Nesting Depth of Paranthesis
-
Roman Number to Integer and vice versa
-
Implement Atoi
-
Count Number of Substrings
-
Longest Palindromic Substring [Do it without DP]
-
Sum of Beauty of all substring
-
Reverse Every Word in A String
Hard Level Problems
-
Minimum number of bracket reversals needed to make an expression balanced
-
Count and say
-
Hashing In Strings
-
Rabin Karp
-
Z-Function
-
KMP algo / LPS(pi) array
-
Shortest Palindrome
-
Longest happy prefix
-
Count palindromic subsequence in given string
22. Singly and Doubly Linked List
Singly Linked List Problems
-
Introduction to LinkedList
-
Inserting a node in LinkedList
-
Deleting a node in LinkedList
-
Find the length of the linkedlist
-
Search an element in the LL
-
Design Linked List
-
Middle of a LinkedList [TortoiseHare Method]
-
Reverse a LinkedList [Iterative]
-
Reverse a LL [Recursive]
-
Detect a loop in LL
-
Find the starting point in LL
-
Length of Loop in LL
-
Check if LL is palindrome or not
-
Segrregate odd and even nodes in LL
-
Remove Nth node from the back of the LL
-
Delete the middle node of LL
-
Sort LL
-
Sort a LL of 0’s 1’s and 2’s by changing links
-
Find the intersection point of 2 LL
-
Add 1 to a number represented by LL
-
Add 2 numbers in LL
Doubly Linked List Problems
-
Introduction to DLL
-
Insert a node in DLL
-
Delete a node in DLL
-
Reverse a DLL
-
Delete all occurrences of a key in DLL
-
Find pairs with given sum in DLL
-
Remove duplicates from sorted DLL
23. Bit Manipulation
Learn the basics of bit manipulation
-
Introduction to Bit Manipulation
-
Check if the i-th bit is set or not
-
Check if a number is odd or not
-
Check if a number is power of 2 or not
-
Count the number of set bits
-
Set/Unset the rightmost unset bit
-
Swap two numbers
-
Divide two integers without using multiplication, division and mod operator
Problems based on bit manipulation
-
Count number of bits to be flipped to convert A to B
-
Find the number that appears odd number of times
-
Power Set
-
Find xor of numbers from L to R
-
Find the two numbers appearing odd number of times
24. Advance Recursion
Basic logic buildup
-
Recursive Implementation of atoi
-
Pow(x, n)
-
Count Good numbers
-
Sort a stack using recursion
-
Reverse a stack using recursion
Problems based on SubSequences
-
Generate all binary strings
-
Generate Paranthesis
-
Print all subsequences/Power Set
-
Learn All Patterns of Subsequences
-
Count all subsequences with sum K
-
Check if there exists a subsequence with sum K
-
Combination Sum
-
Combination Sum-II
-
Subset Sum-I
-
Subset Sum-II
-
Combination Sum – III
-
Letter Combinations of a Phone number
Commonly asked Interview Questions
-
Palindrome Partitioning
-
Word Search
-
N Queen
-
Rat in a Maze
-
Word Break
-
M Coloring Problem
-
Sudoko Solver
-
Expression Add Operators
25. Stacks and Queues
Basic Implementation of Stack and Queue
-
Implement Stack using Arrays
-
Implement Queue using Arrays
-
Implement Stack using Queue
-
Implement Queue using Stack
-
Implement stack using Linkedlist
-
Implement queue using Linkedlist
-
Check for balanced paranthesis
-
Implement Min Stack
Problems based on Stack/Queues
-
Next Greater Element
-
Next Greater Element 2
-
Next Smaller Element
-
Number of NGEs to the right
-
Trapping Rainwater
-
Sum of subarray minimum
-
Asteroid Collision
-
Sum of subarray ranges
-
Remove k Digits
-
Largest rectangle in a histogram
-
Maximal Rectangles
26. Sliding Window and Two Pointers
-
Longest Substring Without Repeating Characters
-
Max Consecutive Ones III
-
Fruit Into Baskets
-
Longest repeating character replacement
-
Binary subarray with sum
-
Count number of nice subarrays
-
Number of substring containing all three characters
-
Maximum point you can obtain from cards
-
Longest Substring with At Most K Distinct Characters
-
Subarray with k different integers
-
Minimum Window Substring
-
Minimum Window Subsequence
27. Heaps
-
Introduction to Priority Queues using Binary Heaps
-
Min Heap and Max Heap Implementation
-
Convert min Heap to max Heap
-
Kth largest element in an array [use priority queue]
-
Kth smallest element in an array [use priority queue]
-
Merge M sorted Lists
-
Replace each array element by its corresponding rank
-
Task Scheduler
-
Hands of Straights
-
Design twitter
-
Connect n ropes with minimal cost
-
Kth largest element in a stream of running integers
-
Maximum Sum Combination
-
Find Median from Data Stream
-
K most frequent elements
28. Greedy Algorithms
Easy Level Problems
-
Assign Cookies
-
Fractional Knapsack Problem
-
Greedy algorithm to find minimum number of coins
-
Lemonade Change
-
Valid Paranthesis Checker
Medium/Hard Level Problems
-
N meetings in one room
-
Jump Game
-
Jump Game 2
-
Minimum number of platforms required for a railway
-
Job sequencing Problem
-
Candy
-
Program for Shortest Job First (or SJF) CPU Scheduling
-
Program for Least Recently Used (LRU) Page Replacement Algorithm
-
Insert Interval
-
Merge Intervals
-
Non-overlapping Intervals
29. Binary Trees
Different types of Traversals in BT
-
Introduction to Trees
-
Create Binary Tree
-
Binary Tree Traversals in Binary Tree
-
Preorder Traversal of Binary Tree
-
Inorder Traversal of Binary Tree
-
Post-order Traversal of Binary Tree
-
Level order Traversal / Level order traversal in spiral form
-
Iterative Preorder Traversal of Binary Tree
-
Iterative Inorder Traversal of Binary Tree
-
Post-order Traversal of Binary Tree using 2 stack
-
Post-order Traversal of Binary Tree using 1 stack
-
Preorder, Inorder, and Postorder Traversal in one Traversal
Medium Level Problems
-
Height of a Binary Tree
-
Check if the Binary tree is height-balanced or not
-
Diameter of Binary Tree
-
Maximum path sum
-
Check if two trees are identical or not
-
Zig Zag Traversal of Binary Tree
-
Boundary Traversal of Binary Tree
-
Vertical Order Traversal of Binary Tree
-
Top View of Binary Tree
-
Bottom View of Binary Tree
-
Right/Left View of Binary Tree
-
Symmetric Binary Tree
Hard Level Problems
-
Root to Node Path in Binary Tree
-
LCA in Binary Tree
-
Maximum width of a Binary Tree
-
Check for Children Sum Property
-
Print all the Nodes at a distance of K in a Binary Tree
-
Minimum time taken to BURN the Binary Tree from a Node
-
Count total Nodes in a COMPLETE Binary Tree
-
Requirements needed to construct a Unique Binary Tree
-
Construct Binary Tree from inorder and preorder
-
Construct the Binary Tree from Postorder and Inorder Traversal
-
Serialize and deserialize Binary Tree
-
Morris Preorder Traversal of a Binary Tree
-
Morris Inorder Traversal of a Binary Tree
-
Flatten Binary Tree to LinkedList
30. Binary Search Trees
-
Introduction to Binary Search Tree
-
Search in a Binary Search Tree
-
Find Min/Max in BST
-
Ceil in a Binary Search Tree
-
Floor in a Binary Search Tree
-
Insert a given Node in Binary Search Tree
-
Delete a Node in Binary Search Tree
-
Find K-th smallest/largest element in BST
-
Check if a tree is a BST or BT
-
LCA in Binary Search Tree
-
Construct a BST from a preorder traversal
-
Inorder Successor/Predecessor in BST
-
Merge 2 BST’s
-
Two Sum In BST | Check if there exists a pair with Sum K
-
Recover BST | Correct BST with two nodes swapped
-
Largest BST in Binary Tree
31. Graphs
Introduction
-
Graph and Types
-
Graph Representation
-
Connected Components
-
BFS
-
DFS
Problems based on DFS and BFS
-
Number of provinces
-
Connected Components Problem in Matrix
-
Rotten Oranges
-
Flood fill
-
Cycle Detection in undirected Graph (bfs)
-
Cycle Detection in undirected Graph (dfs)
-
0/1 Matrix (Bfs Problem)
-
Surrounded Regions (dfs)
-
Number of Enclaves [flood fill implementation – multisource]
-
Word ladder – 1
-
Word ladder – 2
-
Number of Distinct Islands [dfs multisource]
-
Bipartite Graph (DFS)
-
Cycle Detection in Directed Graph (DFS)
Topo Sort Problems
-
Topo Sort
-
Kahn’s Algorithm
-
Cycle Detection in Directed Graph (BFS)
-
Course Schedule – I
-
Course Schedule – II
-
Find eventual safe states
-
Alien dictionary
Shortest Path Problems
-
Shortest Path in UG with unit weights
-
Shortest Path in DAG
-
Djisktra’s Algorithm
-
Why priority Queue is used in Djisktra’s Algorithm
-
Shortest path in a binary maze
-
Path with minimum effort
-
Cheapest flights within k stops
-
Network Delay time
-
Number of ways to arrive at destination
-
Minimum steps to reach end from start by performing multiplication and mod operations with array elements
-
Bellman Ford Algorithm
-
Floyd Warshal Algorithm
-
Find the city with the smallest number of neighbors in a threshold distance
Minimum Spanning Tree and Disjoint Sets
-
Minimum Spanning Tree
-
Prim’s Algorithm
-
Disjoint Set [Union by Rank]
-
Disjoint Set [Union by Size]
-
Kruskal’s Algorithm
-
Number of operations to make network connected
-
Most stones removed with same rows or columns
-
Accounts merge
-
Number of island II
-
Making a Large Island
-
Swim in rising water
32. Dynamic Programming
Introduction
-
Dynamic Programming Introduction
-
What do we use DP?
Problems based on 1D List
-
Climbing Stars
-
Frog Jump
-
Frog Jump with k distances
-
Maximum sum of non-adjacent elements
-
House Robber
Problems based on 2D/3D List
-
Ninja’s Training
-
Grid Unique Paths : DP on Grids
-
Grid Unique Paths 2
-
Minimum path sum in Grid
-
Minimum path sum in Triangular Grid
-
Minimum/Maximum Falling Path Sum
-
3-d DP : Ninja and his friends
Problems based on Subsequences
-
Subset sum equal to target
-
Partition Equal Subset Sum
-
Partition Set Into 2 Subsets With Min Absolute Sum Diff
-
Count Subsets with Sum K
-
Count Partitions with Given Difference
-
0/1 Knapsack
-
Minimum Coins
-
Target Sum
-
Coin Change 2
-
Unbounded Knapsack
-
Rod Cutting Problem
Problems based on Strings
-
Longest Common Subsequence
-
Print Longest Common Subsequence
-
Longest Common Substring
-
Longest Palindromic Subsequence
-
Minimum insertions to make string palindrome
-
Minimum Insertions/Deletions to Convert String
-
Shortest Common Supersequence
-
Distinct Subsequences
-
Edit Distance
-
Wildcard Matching
Problems based on Stocks Buy and Sell
-
Best Time to Buy and Sell Stock
-
Buy and Sell Stock – II
-
Buy and Sell Stocks III
-
Buy and Stock Sell IV
-
Buy and Sell Stocks With Cooldown
-
Buy and Sell Stocks With Transaction Fee
Problems based on LIS
-
Longest Increasing Subsequence
-
Printing Longest Increasing Subsequence
-
Longest Increasing Subsequence
-
Largest Divisible Subset
-
Longest String Chain
-
Longest Bitonic Subsequence
-
Number of Longest Increasing Subsequences
Problems based on Partition
-
Matrix Chain Multiplication
-
Matrix Chain Multiplication | Bottom-Up
-
Minimum Cost to Cut the Stick
-
Burst Balloons
-
Evaluate Boolean Expression to True
-
Palindrome Partitioning – II
-
Partition Array for Maximum Sum
33. Tries
-
Implement TRIE | INSERT | SEARCH | STARTSWITH
-
Implement Trie – 2 (Prefix Tree)
-
Longest String with All Prefixes
-
Number of Distinct Substrings in a String
-
Bit PreRequisites for TRIE Problems
-
Maximum XOR of two numbers in an array
-
Maximum XOR With an Element From Array
Add Your Heading Text Here
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Add Your Heading Text Here
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Add Your Heading Text Here
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Add Your Heading Text Here
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.