This repository contains my step-by-step Data Structures and Algorithms (DSA) preparation using Python and Java.
The goal is to build strong programming fundamentals and then solve DSA problems with proper complexity analysis.
DSA-Python-Java/
Day_1/
Day1.png
Dsa_Day_1.pdf
README.md
python/
day1_max_number.py
java/
Day1MaxNumber.java
Day_2/
Day2.png
DSA_Day_2.pdf
README.md
python/
day2_conditions.py
day2_even_odd.py
day2_pass_fail.py
day2_voting_eligibility.py
day2_largest_two.py
day2_positive_negative_zero.py
java/
Day2Conditions.java
Day2EvenOdd.java
Day2PassFail.java
Day2VotingEligibility.java
Day2LargestTwo.java
Day2PositiveNegativeZero.java
Day_3/
Day3.png
DSA_Day_3.pdf
README.md
python/
day3_loops.py
day3_print_numbers.py
day3_even_numbers.py
day3_sum_natural.py
day3_factorial.py
day3_count_digits.py
java/
Day3Loops.java
Day3PrintNumbers.java
Day3EvenNumbers.java
Day3SumNatural.java
Day3Factorial.java
Day3CountDigits.java
Day_4/
Day4.png
DSA_Day_4.pdf
README.md
python/
day4_patterns.py
day4_square_star.py
day4_right_triangle_star.py
day4_number_triangle.py
day4_reverse_triangle_star.py
day4_square_number.py
java/
Day4Patterns.java
Day4SquarePattern.java
Day4RightTrianglePattern.java
Day4NumberTriangle.java
Day4ReverseTriangle.java
Day4SquareNumberPattern.java
- Day 1 - Programming Basics, Complexity, Constraints
- Day 1 image (
Day1.png) is attached as the first page ofDsa_Day_1.pdf - Day 2 - Conditions, Comparison Operators, Logical Operators
- Day 2 image (
Day2.png) is attached as the first page ofDSA_Day_2.pdf - Day 2 includes a LeetCode beginner practice plan focused on condition-based problems
- Day 3 - Loops, Loop Complexity, and Loop-Based Problems
- Day 3 includes beginner-friendly LeetCode links for loop-based practice
- Day 3 image (
Day3.png) is attached as the first page ofDSA_Day_3.pdf - Day 4 - Pattern Problems and Nested Loops
- Day 4 includes nested-loop pattern practice in Python and Java
- Day 4 image (
Day4.png) is attached as the first page ofDSA_Day_4.pdf
Day 1 focuses on:
- Programming basics
- Python vs Java fundamentals
- Time Complexity and Big O Notation
- Space Complexity
- In-place algorithms
- Recursive stack space
- Using constraints to select the right approach
- Read constraints first.
- Estimate time complexity.
- Check if operations fit practical limits (around
10^8operations). - Implement only the feasible approach.
This repository will continue day by day with:
- DSA theory notes
- Python code examples
- Java code examples
- Practice problems
- Time and space complexity analysis