[go: up one dir, main page]

0% found this document useful (0 votes)
133 views17 pages

Zero To Hero Python Dsa

Code & Debug offers a self-paced Python Data Structures and Algorithms (DSA) course aimed at preparing students for technical interviews and enhancing their coding skills. The course includes expert guidance, a structured learning path, and over 350 curated Leetcode problems, along with personalized mentorship and doubt-clearing sessions. Students can access course materials for two years, with a comprehensive syllabus covering foundational concepts to advanced techniques in programming and problem-solving.

Uploaded by

wadan38581
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views17 pages

Zero To Hero Python Dsa

Code & Debug offers a self-paced Python Data Structures and Algorithms (DSA) course aimed at preparing students for technical interviews and enhancing their coding skills. The course includes expert guidance, a structured learning path, and over 350 curated Leetcode problems, along with personalized mentorship and doubt-clearing sessions. Students can access course materials for two years, with a comprehensive syllabus covering foundational concepts to advanced techniques in programming and problem-solving.

Uploaded by

wadan38581
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Zero to Hero - Python DSA

(Self Paced Course)

WHO ARE WE?


At Code & Debug, we are a dedicated online training platform focused on
empowering students to achieve their career aspirations. Our mission is to
bridge the gap between theoretical knowledge and real-world application,
ensuring that our students are fully equipped to tackle the challenges of
modern tech interviews and secure their dream jobs.

We have successfully trained over 15,000 students on a regular basis,


guiding them through a structured learning process designed to enhance
their problem-solving skills, coding abilities, and confidence. Our courses are
meticulously crafted to cover essential concepts in programming, data
structures, algorithms, and more, with a focus on hands-on practice and
real-time interview scenarios.

WHY CODE & DEBUG?


At Code & Debug, we understand the challenges faced by students preparing for
technical interviews and career transitions. Here's why we stand out:

Expert Guidance

Our instructors are seasoned professionals with extensive industry experience, offering
insights into real-world interview processes and coding challenges. They know exactly
what top tech companies are looking for and will help you sharpen your skills accordingly.
Structured Learning Path

We provide a meticulously designed curriculum that starts from the basics and
progresses to advanced concepts in Data Structures, Algorithms, and programming. You’ll
build a solid foundation and master complex topics through a step-by-step approach.

350+ Curated Leetcode Problems

We provide a curated list of Leetcode problems categorized by difficulty and topic,


ensuring you're well-prepared for coding interviews. With hands-on practice, you'll gain
the confidence to solve complex algorithmic problems.

Personalized Mentorship

Every student is different, and we believe in personalized learning. Our instructors and
mentors provide individual feedback, helping you improve where you need it most.

Daily Assignments and Doubt-Solving Sessions

Practice is key to success, and we reinforce this with daily assignments to challenge your
skills. Additionally, our regular doubt-clearing sessions ensure that no question goes
unanswered.

Focused on Interview Success

From coding problems to behavioral interview prep, we cover all aspects of the hiring
process, giving you a comprehensive toolkit to excel in interviews.

With Code & Debug, you're not just learning to code – you're preparing to build
your career.
What You'll Learn (Key Skills and Concepts)

 

Foundational
Data Structures Mastery Algorithmic Thinking
Programming Concepts




Advanced Problem- Interview-Ready Dynamic Programming


Solving Techniques Problem Sets & Recursion

COURSE DETAILS
We ensure that our batches are structured for maximum flexibility and effectiveness,
catering to both beginners and experienced learners. Below are the details for our
upcoming batch:

COURSE START DATE

The self-paced course gives you the freedom to start learning as soon as you enroll. With
2 years access to course materials, you can tailor your learning journey to fit your
personal schedule.

COURSE TIMELINE

This course is designed to adapt to your pace. On average, students complete the content
in 3-4 months, but you have the flexibility to finish sooner or take your time, revisiting
topics as needed.

INTERACTIVE VIDEO LECTURES

Engaging pre-recorded video lessons break down complex topics into simple, digestible
concepts. Learn through detailed theory and practical demonstrations.

VALIDITY

The course is valid for 2 years from the date of purchase.

DOUBT CLEARING SESSIONS

Special Sunday Doubt Session: If you need additional support, we offer dedicated doubt-
clearing sessions every Sunday, where you can ask questions, revise concepts, and get
personalized help.

CERTIFICATE OF COMPLETION

Upon finishing the course, receive a certificate to showcase your expertise in Data
Structures and Algorithms.

SYLLABUS BREAKDOWN
At Code & Debug, we believe in delivering a well-rounded, thorough learning experience
that covers every crucial aspect of Data Structures and Algorithms (DSA). Our syllabus is
designed to take you from foundational concepts to advanced problem-solving
techniques. Here’s a detailed breakdown of what you'll be learning throughout the course:

1. Introduction to Data Structures and Algorithms

Overview of DSA
Importance of DSA in Problem Solving
Big O Notation and Time Complexity
2. Basic Maths Logic Buildup

Count Digits
Reverse a number
Check palindrome
GCD or HCF
Armstrong Number
Print all Divisors of a number
Check Prime

3. 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

4. Hashing Concept

Learn basics of hashing


Count Frequency in a range
Highest / Lowest Frequency Elements

5. Different types of Sorting

Selection Sort
Bubble Sort
Insertion Sort
Merge Sort
Recursive Bubble Sort
Recursive Insertion Sort
Quick Sort

6. 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

7. 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

8. 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

9. 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

10. 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

11. 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

12. 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

13. 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

14. 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

15. 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

16. 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

17. 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

18. 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

19. 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

20. 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

MEET YOU INSTRUCTOR


Anirudh Khurana – Lead Instructor & Founder

With over 10 years of experience in the tech industry and an in-depth knowledge of data
structures and algorithms, Anirudh is a highly skilled educator. Having worked with top-
tier companies, Anirudh brings practical insights and problem-solving techniques to the
classroom. His personalized teaching style ensures that students grasp complex topics
easily and are fully prepared for interviews. Anirudh has trained over 15,000 students,
helping them land roles at major tech firms.

HOW TO ENROLL?
Enrolling in the Zero to Hero - Python DSA (Self Paced) at Code & Debug is a
straightforward process designed to get you started quickly on your learning journey.
Follow the steps below to secure your spot:

Log in to Your Account


Ensure you’re logged into your account on our website to proceed with the enrollment
process.

Click on "Enroll Now"


Navigate to the course page and click on the "Enroll Now" button to begin.

Proceed to Payment
You’ll be redirected to the secure payment page. Select your preferred payment method,
including credit/debit card, UPI, net banking, or other available options.

Complete the Payment


Follow the instructions on the payment page to complete the transaction. Rest assured, all
payments are secure and encrypted for your safety.

Receive Course Access


After a successful payment, you’ll receive an email confirmation containing your login
credentials, course access details, and instructions to get started.
For questions and concerns,
reach out to us!

info@codeanddebug.in
+91 97129 28220

You might also like