# phishman3579/java-algorithms-implementation

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/phishman3579-java-algorithms-implementation).**

4,530 stars · 1,844 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/phishman3579/java-algorithms-implementation
- awesome-repositories: https://awesome-repositories.com/repository/phishman3579-java-algorithms-implementation.md

## Topics

`algorithm` `data-structures` `graph` `java` `sort` `tree`

## Description

This project is a comprehensive suite of Java-based implementations for standard computer science algorithms, data structures, graph analysis, and mathematical computations. It provides a collection of reference implementations for fundamental data containers, including trees, heaps, maps, tries, and lists, alongside common sorting and searching routines.

The library includes a specialized suite for graph network analysis, covering shortest paths, minimum spanning trees, and maximum flow. It also provides mathematical utilities for prime testing, modular arithmetic, and Fast Fourier Transforms, as well as text processing tools for palindrome detection and edit distance calculation.

The codebase covers broader capability areas such as dynamic programming for sequence analysis and a variety of data organization patterns used for general software development and computer science education.

## Tags

### Data & Databases

- [Data Structure Implementations](https://awesome-repositories.com/f/data-databases/data-structure-implementations.md) — Provides reference implementations of fundamental data structures including trees, heaps, maps, tries, and lists. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Graph Theory](https://awesome-repositories.com/f/data-databases/graph-computing-systems/graph-theory.md) — Implements mathematical libraries for modeling and solving problems with nodes and edges.
- [Memoization](https://awesome-repositories.com/f/data-databases/expensive-result-caches/memoization.md) — Implements memoization to optimize recursive sequence problems and avoid redundant calculations.

### Education & Learning Resources

- [Custom Data Structure Implementations](https://awesome-repositories.com/f/education-learning-resources/data-structure-design/custom-data-structure-implementations.md) — Implements custom collections such as tries and heaps with specific complexity guarantees.
- [Java Implementation References](https://awesome-repositories.com/f/education-learning-resources/data-structures-reference/java-implementation-references.md) — Offers reference Java implementations of trees, heaps, maps, and lists.
- [Algorithm Implementation Workflows](https://awesome-repositories.com/f/education-learning-resources/algorithm-implementation-workflows.md) — Demonstrates proven Java patterns for building efficient sorting, searching, and string manipulation features.
- [Algorithm Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/general-collections-and-study/algorithm-implementations.md) — Provides practical code implementations of classic computer science routines and design patterns. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Computer Science Education](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education.md) — Serves as a learning resource for fundamental algorithms and data structures via Java implementations.

### Programming Languages & Runtimes

- [Algorithm Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/java-utility-libraries/algorithm-libraries.md) — Provides a comprehensive library of standard computer science algorithms and data structures implemented in Java.
- [Dynamic Programming Sequence Analysis](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-type-utilities/subsequence-algorithms/increasing-subsequence-detection/longest-increasing-subsequence-calculations/dynamic-programming-sequence-analysis.md) — Implements sequence analysis capabilities for identifying common subsequences and increasing patterns using dynamic programming. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))

### Scientific & Mathematical Computing

- [Element Search Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/binary-search-techniques/element-search-algorithms.md) — Provides multiple search implementations including binary, linear, and interpolation search. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Graph Analysis Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/graph-analysis-algorithms.md) — Provides implementations of core graph theory algorithms including shortest paths and minimum spanning trees. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Sorting Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/sorting-algorithms.md) — Implements fundamental sorting algorithms such as quick, merge, heap, and radix sorts. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Sorting and Searching Implementations](https://awesome-repositories.com/f/scientific-mathematical-computing/sorting-and-searching-implementations.md) — Provides comprehensive implementations of essential sorting and searching routines like quicksort and binary search.
- [Dynamic Programming](https://awesome-repositories.com/f/scientific-mathematical-computing/dynamic-programming.md) — Uses dynamic programming to optimize complex sequence problems and mathematical computations.
- [Mathematical Utilities](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/computational-libraries/mathematical-utilities.md) — Implements advanced mathematical utilities including prime testing, modular arithmetic, and Fast Fourier Transforms. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
- [Mathematical Computing Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/mathematical-computing-libraries.md) — Provides mathematical routines for prime testing, modular arithmetic, and Fast Fourier Transforms.

### Software Engineering & Architecture

- [Linked Data Structures](https://awesome-repositories.com/f/software-engineering-architecture/linked-data-structures.md) — Builds non-linear structures like trees and graphs using object references to connect nodes.

### Development Tools & Productivity

- [Text String Manipulation Utilities](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/programming-logic-libraries/text-string-manipulation-utilities.md) — Provides utilities for string processing, including palindrome detection, edit distance, and character reversal. ([source](https://github.com/phishman3579/java-algorithms-implementation#readme))
