← All reportsPublic report

thealgorithms/java

All Algorithms implemented in Java

66k stars Java View on GitHubprofiled 11d ago
Try GitZoid
29PRs this week
9Contributors
0Deps scanned
0Issues found
01 · Repo overview

How java is put together

TheAlgorithms/Java is an educational library of algorithm implementations in Java, organized as a single Maven-built JAR (com.thealgorithms:Java, Java 21) with no application entry point or runtime services. Code is grouped into domain packages under src/main/java/com/thealgorithms/ (e.g., backtracking, bitmanipulation, ciphers, compression, conversions, divideandconquer, dynamicprogramming), each containing self-contained classes with static utility methods or small stateful objects. There is no data flow between components beyond shared JDK collections; the 'architecture' is a flat catalog of independent algorithm classes. Quality is enforced via a heavy static-analysis toolchain wired into the Maven build (Checkstyle, SpotBugs+findsecbugs, PMD with security ruleset, JaCoCo coverage), and tests live under src/test using JUnit 5, AssertJ, and Mockito.

Languages

Java

Frameworks

JUnit 5 (junit-jupiter)AssertJMockitoApache Commons LangApache Commons Collections

Infrastructure

GitHub Actions CI (build.yml badge)Codecov coverage reportingGitpod dev environment (.gitpod.yml, .gitpod.dockerfile)Dev Container (.devcontainer/Dockerfile, devcontainer.json)

Major components

audiofilters

Digital signal processing filters such as exponential moving average (EMAFilter) and N-order IIR filtering over double sample arrays.

backtracking

Backtracking search algorithms including path finding, combinations/permutations, N-Queens, Sudoku solving, maze solving, and word search.

bitmanipulation

Bit-level operations and conversions such as set-bit counting, bit rotation/swapping, Gray code, parity checks, and power-of-two checks.

ciphers

Educational implementations of classical and modern ciphers (Caesar, Vigenere, AES, DES, Blowfish, RSA, DiffieHellman, ECC, ElGamal) for learning purposes.

compression

Lossless compression algorithms including Huffman coding, LZW/LZ77/LZ78, Burrows-Wheeler Transform, arithmetic coding, and run-length encoding.

conversions

Number/base/format conversion utilities such as binary/hex/octal conversions, Base64, IP converters, Roman numerals, Morse code, and unit/temperature converters.

divideandconquer

Divide-and-conquer algorithms like binary exponentiation, closest pair, Strassen matrix multiplication, counting inversions, and skyline computation.

dynamicprogramming

DP solutions covering knapsack variants, longest common/increasing subsequences, edit distances, coin change, matrix chain multiplication, and sequence alignment.

Over the past five weeks, this repository of classic algorithms implemented in Java saw a steady stream of bug fixes, especially around search and data-structure edge cases like integer overflow, off-by-one errors, and infinite loops. New features landed too, including a self-organizing linked list, a concurrent merge sort, a Naive Bayes classifier, and a 'rotting oranges' simulation. The rest of the activity was routine maintenance, mostly automated updates to development tools and testing libraries.

Week by week

2026-08-24A quiet week with just one automated tooling update.latest1 change

Chore

Code style tool updated

The project's automatic code style checker (Checkstyle) was upgraded from version 13.10.0 to 13.11.0.

2026-08-17A new data structure arrived alongside two bug fixes and routine tool updates.4 changes

Feature

Self-organizing list added

Added a SelfOrganizingLinkedList, a list that automatically moves frequently used items toward the front for faster access, complete with tests.

Fix

Mobius function overflow fixed

Fixed an integer overflow bug in the MobiusFunction, a number-theory calculation that could produce wrong results for large inputs.

Chore

Security scanner updated

The CodeQL security analysis workflow was bumped from 4.37.6 to 4.37.7.

Chore

Checkstyle upgraded

The code style checking tool was upgraded from version 13.9.0 to 13.10.0.

2026-08-10Bug fixes took center stage, correcting two subtle data-handling errors, plus several dependency bumps.5 changes

Fix

Segment tree bounds fixed

Fixed an off-by-one error in the SegmentTree's boundary checks that could cause the wrong range of data to be read.

Fix

Rail fence cipher newline fix

Fixed the RailFenceCipher so it no longer silently drops newline characters when encoding text.

Chore

Testing library updated

The JUnit testing framework was upgraded from version 6.1.2 to 6.1.3.

Chore

Security scanner updated

The CodeQL security analysis workflow was bumped twice, ending at version 4.37.6.

Chore

Collections library updated

Apache Commons Collections was upgraded from version 4.5.0 to 4.6.0.

2026-08-03Three search algorithm bugs were fixed in a single push, along with routine tooling updates.5 changes

Fix

Fibonacci search fixed

Fixed out-of-bounds access and incorrect comparisons in FibonacciSearch, a method for finding items in sorted lists.

Fix

Exponential search fixed

Corrected ExponentialSearch so it no longer misses elements at the boundaries and properly returns -1 when an item isn't found.

Fix

Jump search hang fixed

Fixed an infinite loop in JumpSearch that occurred when searching for a value larger than everything in the list.

Chore

Automation tools updated

Updated GitHub Actions components: the stale-issue manager jumped to v11, setup-java moved to 5.7.0, and the CodeQL scanner reached 4.37.4.

Chore

Checkstyle upgraded

The code style checker was upgraded from version 13.8.0 to 13.9.0.

2026-08-03Placeholder — see corrected entry above.0 changes
03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required