A comprehensive collection of Data Structures, Algorithms, C++ STL, and LeetCode solutions implemented in C++ as part of my learning journey.
This repository serves as a personal DSA knowledge base, interview preparation resource, and problem-solving portfolio.
This repository is dedicated to learning and practicing:
- Data Structures
- Algorithms
- Problem Solving
- Competitive Programming Concepts
- Interview Preparation
All programs are written in C++ with a focus on understanding concepts, optimizing solutions, and improving coding skills.
- Array Traversal
- Insertion & Deletion
- Searching
- Rotation Problems
- Prefix Sum Concepts
- Linear Search
- Binary Search
- Lower Bound
- Upper Bound
- Search-Based LeetCode Problems
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Counting Sort
- Sorting-Based Problem Solving
- Singly Linked List
- Doubly Linked List
- Circular Linked List
- Insertion Operations
- Deletion Operations
- Reversal
- Searching
- Linked List Interview Problems
- Stack using Arrays
- Stack using Linked Lists
- Push
- Pop
- Peek
- Parentheses Matching
- Expression Evaluation
- Simple Queue
- Circular Queue
- Queue using Linked List
- Deque Basics
-
Binary Tree
-
Binary Search Tree (BST)
-
Tree Traversals
- Inorder
- Preorder
- Postorder
- Level Order
- Graph Representation
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Basic Recursion Problems
- Recursive Thinking
- Backtracking Fundamentals
- Vector
- Pair
- Array
- List
- Stack
- Queue
- Priority Queue
- Set
- Multiset
- Unordered Set
- Map
- Multimap
- Unordered Map
- sort()
- reverse()
- max_element()
- min_element()
- binary_search()
- lower_bound()
- upper_bound()
- next_permutation()
- count()
- Iterators
- Lambda Functions
- Comparators
A growing collection of LeetCode problems covering:
- Arrays
- Strings
- Linked Lists
- Stack
- Queue
- Recursion
- Trees
- Binary Search
- STL-Based Problems
- Two Pointers
- Sliding Window
- Hashing
- Sorting
Each solution focuses on:
- Problem Understanding
- Optimal Approach
- Time Complexity Analysis
- Space Complexity Analysis
- Strengthen DSA Fundamentals
- Master Problem Solving
- Improve Coding Skills
- Prepare for Technical Interviews
- Learn Efficient Algorithms
- Practice Competitive Programming
β Arrays
β Searching
β Sorting
β Linked Lists
β Stack
β Queue
β C++ STL
β LeetCode Problem Solving
π Trees
π Graphs
π Dynamic Programming
π More topics coming soon...
- LeetCode Problems
- Practice Questions
- Algorithmic Thinking
- Understand core DSA concepts
- Improve problem-solving ability
- Prepare for coding interviews
- Build strong programming fundamentals
- Learn efficient algorithm design
git clone https://github.com/HafizEngineerMuhammadAbdullah/Data-Structures-And-Algorithm-In-C-.gitcd Data-Structures-And-Algorithm-In-C-g++ filename.cpp -o output./outputβ Arrays
β Linked Lists
β Stack
β Queue
β Searching
β Sorting
π Trees (In Progress)
π Graphs (In Progress)
π Dynamic Programming (Upcoming)
- Advanced Trees
- Graph Algorithms
- Dynamic Programming
- Greedy Algorithms
- Backtracking
- Sliding Window Techniques
- Two Pointer Techniques
- Competitive Programming Problems
Contributions, suggestions, and improvements are welcome.
If you find this repository useful, consider giving it a β.
Muhammad Abdullah
GitHub: https://github.com/HafizEngineerMuhammadAbdullah
LinkedIn: https://www.linkedin.com/in/muhammad-abdullah-360a87384/
"Consistency is more important than perfection."
π Keep Learning. Keep Building. Keep Growing.