Skip to content

This repo brings together the core algorithms that form the foundation of problem-solving in software development. Each section focuses on a category and contains individual implementations, explanations, and small test examples. The structure is simple, consistent, and easy to expand as you learn.

Notifications You must be signed in to change notification settings

saqib777/Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 

Repository files navigation

Algorithms

Data Structures & Algorithms - Curated Learning Repo

This repo brings together the core algorithms that form the foundation of problem-solving in software development. Each section focuses on a category and contains individual implementations, explanations, and small test examples. The structure is simple, consistent, and easy to expand as you learn.

The intention is to build this as a long-term learning project and keep everything neatly organized.


Repository Structure

dsa-algorithms/
│
├── sorting/
│   ├── bubble_sort.ext
│   ├── selection_sort.ext
│   ├── insertion_sort.ext
│   ├── merge_sort.ext
│   ├── quick_sort.ext
│   ├── heap_sort.ext
│   ├── counting_sort.ext
│   └── radix_sort.ext
│   
├── searching/
│   ├── linear_search.ext
│   └── binary_search.ext
│
├── recursion_backtracking/
│   ├── factorial.ext
│   ├── fibonacci.ext
│   ├── subsets.ext
│   ├── permutations.ext
│   ├── combination_sum.ext
│   ├── n_queens.ext
│   └── sudoku_solver.ext
│
├── linked_list/
│   ├── reverse_linked_list.ext
│   ├── detect_cycle.ext
│   ├── merge_two_sorted_lists.ext
│   ├── remove_nth_from_end.ext
│   └── intersection_of_two_lists.ext
│
├── stacks_queues/
│   ├── valid_parentheses.ext
│   ├── min_stack.ext
│   ├── queue_using_stacks.ext
│   ├── stack_using_queues.ext
│   ├── sliding_window_maximum.ext
│   └── next_greater_element.ext
│
├── trees/
│   ├── inorder_traversal.ext
│   ├── preorder_traversal.ext
│   ├── postorder_traversal.ext
│   ├── level_order.ext
│   ├── height_of_tree.ext
│   ├── diameter_of_tree.ext
│   ├── is_symmetric.ext
│   ├── lowest_common_ancestor.ext
│   ├── validate_bst.ext
│   └── build_tree_from_traversals.ext
│
├── graphs/
│   ├── bfs.ext
│   ├── dfs.ext
│   ├── cycle_detection_undirected.ext
│   ├── cycle_detection_directed.ext
│   ├── topological_sort.ext
│   ├── dijkstra.ext
│   ├── bellman_ford.ext
│   ├── floyd_warshall.ext
│   ├── kruskal_mst.ext
│   └── prim_mst.ext
│
├── dynamic_programming/
│   ├── fibonacci_dp.ext
│   ├── climbing_stairs.ext
│   ├── lis.ext
│   ├── lcs.ext
│   ├── edit_distance.ext
│   ├── knapsack.ext
│   ├── coin_change.ext
│   └── kadane.ext
│
├── greedy/
│   ├── activity_selection.ext
│   ├── fractional_knapsack.ext
│   ├── huffman_coding.ext
│   └── interval_scheduling.ext
│
├── strings/
│   ├── sliding_window.ext
│   ├── kmp.ext
│   ├── rabin_karp.ext
│   ├── z_algorithm.ext
│   ├── trie_operations.ext
│   └── longest_palindromic_substring.ext
│
├── bit_manipulation/
│   ├── count_set_bits.ext
│   ├── power_of_two.ext
│   ├── single_number.ext
│   └── bitmasking.ext
│
├── math/
│   ├── gcd_lcm.ext
│   ├── sieve_of_eratosthenes.ext
│   ├── fast_exponentiation.ext
│   └── modular_arithmetic.ext
│
└── README.md

How to Use This Repo

Each folder represents a topic. Inside, every file focuses on one algorithm with a short explanation, the code implementation, and a small test section. You can keep extending the repo as you work through more problems.

Use it as a reference, a learning project, or even a base for interview prep.

This structure gives you room to grow while keeping everything organized and approachable.

About

This repo brings together the core algorithms that form the foundation of problem-solving in software development. Each section focuses on a category and contains individual implementations, explanations, and small test examples. The structure is simple, consistent, and easy to expand as you learn.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published