Skip to content

ashifsekh/DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DSA (Data Structures & Algorithms)

This repository is my personal learning workspace for Data Structures and Algorithms using Java. It contains practice problems, study notes, worked examples, and a progress log to help me track and improve my understanding over time.

What this repo is for

  • Track learning progress and milestones while studying DSA in Java.
  • Store practice solutions, code examples, and small projects.
  • Keep concise notes and explanations for concepts I want to remember.
  • Build a habit of documenting learnings and improving by reworking solutions.

Naming & coding conventions

  • Java files: use PascalCase for class names and file names (e.g., TwoSum.java).
  • Keep each practice problem small and self-contained. One public class per file.
  • Provide a short comment at the top explaining the problem statement and complexity.
  • Prefer simple input examples or a short main method to demonstrate usage.

How I track progress

  • Use commits with clear messages like solve: two-sum (array, O(n)) or note: explain BFS.
  • Add a short entry to a topic's README.md or main README.md when a milestone is reached.

How to run a practice file

From the repository root (or the folder with the .java file), compile and run Java files with:

javac Path/To/File/Example.java
java Path.To.File.Example

(Adjust the package name or classpath if files use packages.)

Study plan ideas

  • Fundamentals: arrays, strings, linked lists, stacks, queues, recursion.
  • Algorithms: sorting, searching, two pointers, sliding window.
  • Graphs & trees: DFS, BFS, binary trees, heaps.
  • Dynamic programming: start with knapsack, Fibonacci variants, subsequence problems.

Work in small, focused sessions and write down one takeaway per solved problem.

Contributing (for me)

  • This is a personal learning repo. I will:
    • Keep solutions small and readable.
    • Revisit older solutions to refactor and optimize.

Notes & tips

  • Write short explanations beside code — it helps retention.
  • Use branch/workspace per major topic if experimenting with larger projects.

Keep this README as a living document — update it as your workflow and structure evolve.

About

DSA learning repository — tracking my progress, practice files, and notes as I strengthen my understanding of Data Structures and Algorithms using Java.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages