How algorithmzuo/algorithm-journey works
This repository is a collection of standalone Java algorithm examples and problem solutions, rather than a single application. The typical workflow is to provide input to a selected program, which computes and prints a result. The tree indicates broad coverage from basic algorithms through graph, dynamic-programming, string, and range-query problems; sampled programs confirm several query-processing approaches. There is no README, and the excerpts do not establish a shared runtime or links between examples, so the graph shows independent programs rather than an invented pipeline.
Main entry points: SelectBubbleInsert.java Sorting and search · Code06_SortList.java Linked lists · Code05_PreorderSerializeAndDeserialize.java Tree operations · Code02_LongestSubarraySumEqualsAim.java Prefix queries
Components 19
Core structures
- Sorting and search
src/class004/SelectBubbleInsert.java - Linked lists
src/class034/Code06_SortList.java - Tree operations
src/class036/Code05_PreorderSerializeAndDeserialize.java
Array queries
- Prefix queries
src/class046/Code02_LongestSubarraySumEqualsAim.java - Window algorithms
src/class049/Code03_MinimumWindowSubstring.java - Segment tree
src/class111/Code04_QueryModUpdate.java - Zero-sum queries
src/class177/Code04_ZeroQuery1.java - Frequency queries
src/class179/Code02_SimpleQuery1.java
Graph and tree
- Graph algorithms
src/class059/Code04_AlienDictionary.java - Shortest paths
src/class064/Code01_DijkstraLeetcode.java - Tree path queries
src/class119/Code03_QueryPathMinimumChangesToSame.java - Package dependencies
src/class161/Code04_PackageManager1.java - Dynamic graph queries
src/class203/Code01_WaterManager1.java
Optimization
- Dynamic programming
src/class073/Code01_01Knapsack.java - Greedy solutions
src/class089/Code05_CourseScheduleIII.java - Kth-value queries
src/class160/Code02_QueryKthMaximum1.java
String algorithms
- Pattern matching
src/class100/Code01_KMP.java - Trie algorithms
src/class044/Code01_TrieTree.java
Other components
- Problem solver
Connections 36
- Problem solver → Sorting and search: provides input
- Sorting and search → Problem solver: prints result
- Problem solver → Linked lists: provides input
- Linked lists → Problem solver: prints result
- Problem solver → Tree operations: provides input
- Tree operations → Problem solver: prints result
- Problem solver → Prefix queries: provides input
- Prefix queries → Problem solver: prints result
- Problem solver → Window algorithms: provides input
- Window algorithms → Problem solver: prints result
- Problem solver → Segment tree: provides input
- Segment tree → Problem solver: prints result
- Problem solver → Zero-sum queries: provides input
- Zero-sum queries → Problem solver: prints answers
- Problem solver → Frequency queries: provides input
- Frequency queries → Problem solver: prints answers
- Problem solver → Graph algorithms: provides input
- Graph algorithms → Problem solver: prints result
- Problem solver → Shortest paths: provides input
- Shortest paths → Problem solver: prints result
- Problem solver → Tree path queries: provides queries
- Tree path queries → Problem solver: returns answers
- Problem solver → Package dependencies: provides operations
- Package dependencies → Problem solver: prints answers
- Problem solver → Dynamic graph queries: provides operations
- Dynamic graph queries → Problem solver: prints answers
- Problem solver → Dynamic programming: provides input
- Dynamic programming → Problem solver: prints result
- Problem solver → Greedy solutions: provides input
- Greedy solutions → Problem solver: prints result
- Problem solver → Kth-value queries: provides operations
- Kth-value queries → Problem solver: prints answers
- Problem solver → Pattern matching: provides input
- Pattern matching → Problem solver: prints result
- Problem solver → Trie algorithms: provides input
- Trie algorithms → Problem solver: prints result