Skip to content

Repository files navigation

💻 Coding Practice

Data Structures, Algorithms, SQL, and Problem-Solving Practice

A personal archive of coding problems, algorithm implementations, and SQL queries solved across competitive programming, interview preparation, and database practice platforms.


Overview

Coding Practice is a personal repository dedicated to consistently solving programming problems and strengthening problem-solving skills.

The repository contains solutions covering Data Structures and Algorithms, SQL queries, programming exercises, and common problem-solving patterns from platforms such as LeetCode and GeeksforGeeks.

It serves as both a practice environment and a long-term reference for revisiting concepts, comparing approaches, and tracking progress over time.


Platforms

The repository currently contains problems and solutions from:

  • 🟠 LeetCode
  • 🟢 GeeksforGeeks (GFG)

SQL problems and database-related exercises are also included as part of the coding practice collection.

More platforms may be added in the future.


Topics Covered

🧠 Data Structures & Algorithms

  • Arrays
  • Strings
  • Hashing
  • Recursion
  • Sorting
  • Searching
  • Linked Lists
  • Trees
  • Graphs
  • Dynamic Programming
  • Greedy Algorithms
  • Sliding Window
  • Two Pointers
  • Backtracking

🗄️ SQL & Databases

  • SELECT queries
  • Filtering and sorting
  • Aggregate functions
  • GROUP BY and HAVING
  • JOINs
  • Subqueries
  • Common Table Expressions (CTEs)
  • Window functions
  • Date and string operations
  • Conditional expressions
  • Data aggregation and analysis

The collection will continue to expand as new problems and concepts are practiced.


Languages

Solutions and queries are currently written using:

Language Purpose
C++ Competitive programming and algorithmic problem solving
Python Algorithm implementations and experimentation
Java Problem solving and implementation practice
SQL Database queries and SQL problem solving

Solutions generally prioritize:

  • Readable code
  • Efficient algorithms
  • Clear implementation
  • Appropriate time and space complexity
  • Simple and maintainable SQL queries

Solution Structure

Most solutions follow a consistent structure:

Problem
   │
   ▼
Approach / Explanation
   │
   ▼
Implementation / Query
   │
   ▼
Complexity Analysis
   ├── Time Complexity
   └── Space Complexity

Depending on the problem, individual solutions may include:

  • Problem statement or reference link
  • Approach or intuition
  • Algorithm explanation
  • SQL query, where applicable
  • Time complexity
  • Space complexity
  • Final implementation

Goals

The primary goals of this repository are:

  • Solve coding problems consistently
  • Strengthen Data Structures and Algorithms knowledge
  • Improve algorithmic thinking
  • Practice SQL and database problem solving
  • Recognize and reuse common problem-solving patterns
  • Explore different approaches and optimizations
  • Build a reusable reference for interview preparation
  • Track coding progress over time

Roadmap

Future improvements may include:

  • Expanding the number of solved problems
  • Adding more competitive programming platforms
  • Increasing the collection of SQL problems
  • Organizing solutions by difficulty
  • Adding detailed explanations to older solutions
  • Improving topic-based categorization
  • Adding problem-solving patterns and notes
  • Tracking progress and statistics
  • Adding alternative solutions where useful

Development Process

This repository is built through regular coding practice, experimentation, and problem solving.

The focus is on understanding the underlying concept and developing an efficient solution rather than simply producing a working answer.

Problems are generally approached by:

  • Understanding the problem and constraints
  • Identifying relevant data structures or algorithms
  • Exploring possible approaches
  • Comparing time and space complexity
  • Writing and testing the solution
  • Optimizing when necessary
  • Revisiting problems to strengthen understanding

For SQL problems, the focus is on understanding the data relationships, choosing appropriate query techniques, and writing efficient and readable queries.


Contributing

This repository is primarily intended for personal practice, but suggestions, corrections, and improvements are always welcome.

If you'd like to contribute:

  • Fork the repository
  • Create a feature branch
  • Make your changes
  • Commit your changes
  • Open a Pull Request

Small, focused improvements are the easiest to review and merge.


License

This project is licensed under the MIT License.


Author

Aiman Fazal

A personal collection for continuous learning, problem solving, and algorithmic growth.

Keep solving. Keep learning. Keep improving.

About

Personal coding practice repository showcasing problem-solving skills, data structures, algorithms, and continuous learning through hands-on programming challenges.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages