How ssn2025/data-structure-and-algorithms works
This repository is a collection of algorithm examples, not a single application: its README is empty, and the files cover independent algorithms rather than a shared user-to-result workflow. The main areas are graph algorithms, divide-and-conquer, and greedy methods. Sampled source shows standalone examples and implementations, but no common entry point or cross-module calls; the graph therefore groups the algorithms without implying a runtime pipeline. Several graph algorithms are represented by notebooks whose contents were not sampled.
Components 17
Divide and Conquer
- Max-Min
Divide and conquer/max_min.cpp - Naive Multiply
Divide and conquer/PolynomialMultiplication/Naive.py - Karatsuba Multiply
Divide and conquer/PolynomialMultiplication/Karatsuba.py - FFT Multiply
Divide and conquer/PolynomialMultiplication/fftmultiplication.cpp - Merge Sort
Divide and conquer/Sorting/MergeSort.ipynb - Randomized Quicksort
Divide and conquer/Sorting/RandomizedQuicksort_incomplete.py
Graph Algorithms
- BFS
Graphs/Search/bfs.ipynb - DFS
Graphs/Search/dfs.ipynb - Kirchhoff Spanning Trees
Graphs/SpanningTree/Kirchoff's Theorem for number of spanning tree.ipynb - Kruskal
Graphs/SpanningTree/Krushkal's Algo.ipynb - Prim
Graphs/SpanningTree/Prim's Algorithm.ipynb - Prim with Heap
Graphs/SpanningTree/Prims_Algorithm using heap.ipynb - Kahn Topological Sort
Graphs/Topological_Sort/Kahn's_Algorithm.ipynb - Bellman-Ford
Graphs/single source Shortest Path/bellman ford.ipynb - Dijkstra
Graphs/single source Shortest Path/dijkstra's algo.ipynb
Greedy Algorithms
- Greedy Knapsack
Greedy/KnapsackProblem.py
Coding
- Huffman Coding
HuffmanCoding.py