This repository documents my journey of learning Data Structures, Algorithms, and problem-solving using Golang.
The goal of this repository is to build strong problem-solving skills, understand core computer science concepts, prepare for technical interviews, and strengthen my backend development foundation.
dsa_practice/
│
├── concepts/
│ ├── arrays/
│ ├── strings/
│ ├── linkedlist/
│ └── ...
│
├── algorithms/
│ ├── searching/
│ ├── sorting/
│ ├── recursion/
│ ├── graph/
│ └── ...
│
├── leetcode/
│ ├── arrays/
│ ├── strings/
│ ├── linkedlist/
│ ├── stack/
│ ├── queue/
│ ├── tree/
│ └── ...
│
├── notes/
│
└── README.md
- Traversal
- Insertion
- Deletion
- Searching
- Updating Elements
- Rotation
- Merging
- Union & Intersection
- Sorting
- Declaration
- Accessing Characters
- Concatenation
- String Traversal
- Basic String Operations
- Create Linked List
- Display Linked List
- Reverse Display
- Count Nodes
- Search Node
- Insert at Beginning
- Insert at End
- Insert at Position
- Sorted Insertion
- Delete Node
- Reverse Linked List
This section contains implementations of common algorithms and problem-solving techniques.
Topics planned:
- Searching Algorithms
- Sorting Algorithms
- Recursion
- Backtracking
- Greedy Algorithms
- Graph Algorithms
- Dynamic Programming
This section contains LeetCode solutions categorized by topic.
Topics include:
- Arrays
- Strings
- Linked Lists
- Stack
- Queue
- Trees
- Graphs
- Binary Search
- Dynamic Programming
Each solution includes:
- Problem Name
- Approach
- Time Complexity
- Space Complexity
- Data Structures
- Algorithms
- Problem Solving
- Time & Space Complexity Analysis
- Backend Interview Preparation
- Golang Development
- Arrays
- Strings
- Linked Lists
- Stack
- Queue
- Trees
- Graphs
- Arrays
- Strings
- Linked Lists
- Binary Search
- Trees
- Dynamic Programming
- Golang
- Git
- GitHub
Muhammad Asad
Aspiring Backend Developer | Golang Enthusiast