I'm Dinesh Kumar, a Junior Data Scientist and AI enthusiast, diving deeper into Python, Object-Oriented Programming (OOP), Data Structures & Algorithms (DSA), and Sorting Algorithms to sharpen my coding and problem-solving skills. Follow along as I explore Stack, Queue, Two Pointers, Sliding Window, Dictionary, Linked List, and Sorting Algorithms like Merge Sort, Quick Sort, Insertion Sort, Selection Sort, and Bubble Sort!
- 🎯 Variables, Data Types, and Operators
- 🎯 Control Structures: Loops, Conditional Statements
- 🎯 Functions: Basics, Recursion, and Lambda Functions
- 💡 Classes and Objects
- 💡 Constructors and Destructors
- 💡 Inheritance (Single, Multiple, Multilevel)
- 💡 Polymorphism (Overloading and Overriding)
- 💡 Encapsulation and Abstraction
-
Stack:
- 🔄 Balanced Parentheses, Evaluate Postfix Expression
- 🔄 Implementing Stack Using Arrays or Lists
-
Queue:
- 🔄 Implementing Queue and Circular Queue
- 🔄 Problems: First Non-Repeating Character, Queue Using Stacks
-
Two Pointers:
- 🔄 Problems: Pair Sum, Three Sum, Container with Most Water
-
Sliding Window:
- 🔄 Problems: Maximum Sum Subarray, Longest Substring Without Repeating Characters
-
Dictionary:
- 🔄 Problems: Frequency Count, Anagram Groups, Subarray Sum Equals K
-
Linked List:
- 🔄 Basics: Singly and Doubly Linked Lists
- 🔄 Problems: Reverse a Linked List, Merge Two Sorted Lists, Detect Cycle in Linked List
-
Merge Sort:
- Divide and conquer approach, splits an array into two halves, sorts them, and merges them.
-
Quick Sort:
- Picks a pivot, partitions the array, and recursively sorts the subarrays.
-
Insertion Sort:
- Builds the sorted array one element at a time by inserting each new element into its proper position.
-
Selection Sort:
- Selects the smallest element and swaps it with the first unsorted element, and repeats this for all elements.
-
Bubble Sort:
- Repeatedly compares and swaps adjacent elements until the list is sorted.
- 🎯 Master Python Core and OOP Concepts
- 🎯 Solve 50+ DSA problems, focusing on Stack, Queue, Two Pointers, Sliding Window, Dictionary, and Linked List.
- 🎯 Learn and Implement Sorting Algorithms: Merge Sort, Quick Sort, Insertion Sort, Selection Sort, and Bubble Sort.
- 🎯 Develop a mini-project combining Python skills and DSA concepts.
- 🔧 Tools:
- Jupyter Notebook, VSCode, Git for version control
| 🏗️ Topic | Problems Solved | Notes/Reflections |
|---|---|---|
| 🌀 Stack | 10 | Learned stack operations and solved balanced parentheses efficiently. |
| 📚 Queue | 8 | Practiced queue variations, including circular queue. |
| 🧮 Two Pointers | 10 | Improved problem-solving speed with two-pointer technique. |
| 🔍 Sliding Window | 12 | Mastered optimizing subarray problems. |
| 📖 Dictionary | 8 | Solved anagram and frequency-based problems. |
| 🔗 Linked List | 5 | Understood reversing and merging linked lists. |
| 🧩 Sorting Algorithms | 12 | Implemented Merge Sort, Quick Sort, Insertion Sort, Selection Sort, and Bubble Sort. |
I'm open to discussions, collaborations, or sharing insights!
- 📧 Email: svani4830@gmail.com
- 🔗 LinkedIn: Dinesh Kumar
- 🐙 GitHub: SDineshKumar1304
By the end of this journey, I aim to:
- Develop a solid foundation in Python programming and OOP.
- Solve 50+ DSA problems with clear solutions and optimizations.
- Implement and master sorting algorithms like Merge Sort, Quick Sort, Insertion Sort, Selection Sort, and Bubble Sort.
Stay tuned for updates, and feel free to share tips or resources! 🚀

