Commit Graph

2987 Commits

Author SHA1 Message Date
Deniz Altunkapan
0cdbc58427 chore: add workflow to close stale PRs with failed workflows (#6927) 2025-10-26 09:00:37 +00:00
Indolyn Yi
2da0465fe0 feat(geometry): Add Bentley-Ottmann algorithm for line segment intersection (#6871)
* feat(geometry): add Bentley-Ottmann line segment intersection algorithm

- Implement sweep-line algorithm for finding all intersection points
- Time complexity: O((n + k) log n) where n is segments, k is intersections
- Uses event queue (PriorityQueue) and status structure (TreeSet)
- Handles vertical/horizontal segments, collinear overlaps, and touching endpoints
- Includes comprehensive Javadoc with examples and references

* test(geometry): add comprehensive tests for Bentley-Ottmann algorithm

- 19 test cases covering typical, edge, and degenerate cases
- Tests include: single/multiple intersections, parallel segments, grid patterns
- Performance test with 100 random segments
- All tests validate correctness of intersection detection

* style(geometry): fix code style

* test(geometry): Achieve 100% test coverage for BentleyOttmann

* style(geometry): fix code style again

* fix: correct import order in BentleyOttmann

* fix(geometry): Resolve SpotBugs and PMD static analysis warnings

* Reorder import statements in BentleyOttmannTest

---------

Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-25 22:18:45 +02:00
Priyanshu Kumar Singh
252155630e [FEAT] Add general purpose Projectile Motion algorithm (Physics) (#6928)
[FEAT] Add general purpose Projectile Motion algorithm

Co-authored-by: Priyanshu1303d <priyanshu130d@gmail.com>
Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-25 22:12:45 +02:00
Priyanshu Kumar Singh
e21aee814c [FEAT] Add Newton's Law of Gravitation algorithm (#6855)
Co-authored-by: Priyanshu1303d <priyanshu130d@gmail.com>
2025-10-25 17:18:15 +02:00
Indolyn Yi
ab65ac6485 feat(compression): Add Burrows-Wheeler Transform (BWT) and Move-to-Front (MTF) (#6926)
* feat(compression): Add Burrows-Wheeler Transform (BWT) and Move-to-Front (MTF)

* Resolve SpotBugs

* fix code style
2025-10-25 11:29:45 +02:00
Indole Yi
48ba1ae466 feat(compression): Add LZ77 and LZ78 algorithms (#6910)
* feat(compression): Add LZ77 and LZ78 algorithms

* Resolve Spotbugs warning in LZ78 by using Trie structure

* fix code style
2025-10-23 18:16:46 +02:00
Hardik Pawar
f66da5e5ee refactor: Enhance docs, add tests in PrintMatrixInSpiralOrder (#6636)
* refactor: Enhance docs, add tests in `PrintMatrixInSpiralOrder`

* Fix error in BloomFilter

* Fix

* Fix

* Fix
2025-10-22 19:42:11 +00:00
Yash Rajput
89303690f2 Added SimplePendulumRK4 (#6800)
* Added SimplePendulumRK4

* Fixed build issue.

* Fixed build issue.

* Fixed build issue.
2025-10-21 20:18:32 +00:00
dependabot[bot]
873dd9785b chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.7.0 to 4.9.8.1 (#6867)
chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin

Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.9.7.0 to 4.9.8.1.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.7.0...spotbugs-maven-plugin-4.9.8.1)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 10:40:47 +02:00
dependabot[bot]
4de2254183 chore(deps): bump com.puppycrawl.tools:checkstyle from 12.0.1 to 12.1.0 (#6868)
Bumps [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) from 12.0.1 to 12.1.0.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-12.0.1...checkstyle-12.1.0)

---
updated-dependencies:
- dependency-name: com.puppycrawl.tools:checkstyle
  dependency-version: 12.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 10:19:09 +02:00
Indole Yi
d5289b92da Fix ConvexHull to return points in counter-clockwise order (#6810)
* Fix ConvexHull to return points in counter-clockwise order

- Add sortCounterClockwise method to ensure CCW ordering
- Start from bottom-most, left-most point for deterministic results
- Fix issue where unordered HashSet broke downstream algorithms
- Add comprehensive tests with CCW order verification

* test(geometry): Achieve 100% test coverage for ConvexHull
2025-10-19 18:17:19 +00:00
Indole Yi
4a97258189 feat(compression): Add LZW and Arithmetic Coding algorithms (#6799)
* feat(compression): Add LZW and Arithmetic Coding algorithms

* test(compression): Improve test coverage for LZW and ArithmeticCoding

* style(compression): fix code style
2025-10-19 18:11:22 +00:00
Yash Rajput
a7f0bab021 Adding ElasticCollision2D (#6802)
* Adding ElasticCollision2D

* Fixing build issues.
2025-10-19 17:00:32 +00:00
Saahil Mahato
b312567dc3 feat: add DDA line drawing algorithm (#6616)
* feat: add DDA line drawing algorithm

* refactor: clang formatting

---------

Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-18 11:41:01 +00:00
Harshendu Swarnakar
6b7d201657 Hierholzer path algorithm (#6822)
* Added HierholzerEulerianPath algorithm

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

* Added Hierholzer Algorith to find Eulerian Path

---------

Co-authored-by: crashmovies <swarnakarharshendu420@gmail.com>
2025-10-17 23:53:26 +02:00
Hardik Pawar
4858ec9af0 refactor: Enhance docs, code, add tests in `MaximumSumOfDistinctSubar… (#6649)
* refactor: Enhance docs, code, add tests in `MaximumSumOfDistinctSubarraysWithLengthK`

* Fix

* Fix spotbug

* Fix

* Fix

* Fix

* Fix
2025-10-17 07:53:39 +00:00
Yash Rajput
e1773e9165 Adding DampedOscillator code (#6801)
* Adding DampedOscillator code

* Adding one more test case

* Adding one more test case

* Adding one more test case

* Fixing build issues.

* Fixing build issues.
2025-10-16 23:19:09 +02:00
Sameer Prajapati
fb5a7653c1 feat: Add Hungarian Algorithm (Assignment Problem) with tests and reference [GRAPHS] (#6808)
* feat(graph): add Hungarian Algorithm (assignment) with tests; update directory

* style(graph): split multiple variable declarations to satisfy Checkstyle
2025-10-16 23:05:48 +02:00
Deniz Altunkapan
3519a91497 Update DIRECTORY.md (#6546)
Co-authored-by: vil02 <vil02@users.noreply.github.com>
2025-10-16 13:13:40 +03:00
dependabot[bot]
1a910b52d4 chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.6.0 to 4.9.7.0 (#6796)
chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin

Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.9.6.0 to 4.9.7.0.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.6.0...spotbugs-maven-plugin-4.9.7.0)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.7.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-16 11:37:36 +02:00
Sameer Prajapati
1437036b19 feat(graph): add Push–Relabel max flow with tests and index (#6793)
* feat(graph): add Push–Relabel max flow with tests and index

* style(checkstyle): reduce discharge parameter count via State holder

* chore(pmd): make discharge void and remove empty else; satisfy PMD

---------

Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-15 22:51:14 +02:00
Hardik Pawar
f8688ba38d refactor: Enhance docs, code, add tests in Means (#6750) 2025-10-15 09:14:00 +00:00
Hardik Pawar
c6497a23ec refactor: Enhance docs, code, add tests in LucasSeries (#6749) 2025-10-15 09:07:49 +00:00
Hardik Pawar
f460c601d3 refactor: Enhance docs, code, add tests in HeronsFormula (#6746)
* refactor: Enhance docs, code, add tests in `HeronsFormula`

* Fix lint
2025-10-15 08:56:57 +00:00
Hardik Pawar
d62b438fcd refactor: Enhance docs, code, add tests in HarshadNumber (#6745) 2025-10-15 08:46:17 +00:00
Hardik Pawar
219cc33588 refactor: Enhance docs, code, add tests in `LinearDiophantineEquation… (#6744)
refactor: Enhance docs, code, add tests in `LinearDiophantineEquationsSolver`
2025-10-15 08:42:16 +00:00
Microindole
ce6f7311f7 feat: Add RLE and Shannon-Fano compression algorithms (#6779)
* feat: Add RLE and Shannon-Fano compression algorithms

* Fix: Resolve CI failures for compression algorithms

* chore: trigger CI rebuild
2025-10-14 17:29:03 +00:00
Shivam Singh
b50d1d017b Added Sentinel Linear Search . (#6671)
* Added Sentinel Linear Search .

* Fixed linter error

* Fixed linter errors

* Fixed linter errors in test fike

* Fixed linter errors in test file

* Fixed linter errors
2025-10-14 17:22:15 +00:00
Priyanshu Kumar Singh
b316dcf1c6 [FEAT] Implement Flattening MultiLevel LinkedList (#6670)
[FEAT] Implement Flattening Multilevel LinkedList

Co-authored-by: Priyanshu1303d <priyanshu130d@gmail.com>
2025-10-14 08:56:21 +00:00
TejasSingh022
a9357102b3 Add TortoiseHareAlgo implementation with append, toString, and getMiddle methods (#6722)
* Create TortoiseHareAlgorithm.java

Implement TortoiseHareAlgo with append, getMiddle, and toString methods

- Added generic singly linked list with inner Node class
- Implemented append() to add elements
- Implemented getMiddle() using Tortoise-Hare approach
- Added toString() for readable list representation

* Create TortoiseHareAlgoTest.java

Add JUnit tests for TortoiseHareAlgo

- Verified append() and toString() output
- Tested getMiddle() for odd, even, and empty lists
- Ensured correct behavior and null handling

* Update README.md

Add TortoiseHareAlgo to linked list documentation

- Added TortoiseHareAlgo.java to file descriptions
- Described its purpose: finding middle element using Tortoise-Hare algorithm

* Rename TortoiseHareAlgorithm.java to TortoiseHareAlgo.java

Fixed build error

* Update TortoiseHareAlgoTest.java

Fixed line formatting build error

* Update TortoiseHareAlgoTest.java

Fixed line formatting build error

* Update TortoiseHareAlgo.java

Added {} after if statement instead of directly writing statement

* Update TortoiseHareAlgo.java

Fixed line formatting build error

* Update TortoiseHareAlgo.java

Added {} after if statement instead of directly writing statement

* Update TortoiseHareAlgoTest.java

Replace .* import with specific imports

---------

Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-14 08:53:02 +00:00
dependabot[bot]
87ad52c206 chore(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (#6776)
Bumps [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.13 to 0.8.14.
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.13...v0.8.14)

---
updated-dependencies:
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-version: 0.8.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-14 10:47:48 +02:00
dependabot[bot]
3c61271ff7 chore(deps): bump com.puppycrawl.tools:checkstyle from 12.0.0 to 12.0.1 (#6775)
Bumps [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) from 12.0.0 to 12.0.1.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-12.0.0...checkstyle-12.0.1)

---
updated-dependencies:
- dependency-name: com.puppycrawl.tools:checkstyle
  dependency-version: 12.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 10:43:12 +02:00
Sameer Prajapati
8726d401b7 Add Yen’s K-shortest loopless paths with tests [GRAPHS] (#6773)
* Add Yen’s K-shortest loopless paths with tests and index update

* style: fix Checkstyle in Yens algorithm and tests

* fix: resolve SpotBugs in Yens algorithm

* fix (PMD): rename short variables in the code

* (pmd): code fixes

* fix(bloomfilter): hash arrays by content to satisfy array membership tests

* style(pmd): fix EmptyControlStatement in validate() by returning early when src==dst

* style(pmd): remove unnecessary return in validate()
2025-10-13 20:22:55 +02:00
Microindole
8b8434cb51 feat(graph): Add Edmonds's algorithm for minimum spanning arborescence (#6771)
* feat(graph): Add Edmonds's algorithm for minimum spanning arborescence

* test: Add test cases to achieve 100% coverage
2025-10-13 15:47:50 +03:00
Hardik Pawar
f30d10117d refactor: Enhance docs, code, add tests in LeonardoNumber (#6743) 2025-10-13 07:42:10 +00:00
Sameer Prajapati
883a050162 Added Dinic’s Max Flow algorithm with tests [Graphs] (#6762)
* Add Dinics max flow algorithm with tests and index update

* Docs: add Dinic reference link and apply clang-format

* Fix: Checkstyle violations in Dinic and tests

* style: apply clang-format to Dinic and tests

---------

Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-12 23:45:46 +02:00
Hardik Pawar
387ecef310 refactor: Enhance docs, code, add tests in KeithNumber (#6748)
* refactor: Enhance docs, code, add tests in `KeithNumber`

* Fix

---------

Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-12 23:37:24 +02:00
Hardik Pawar
297634d05f refactor: Enhance docs, code, add tests in KaprekarNumbers (#6747)
Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-12 23:13:14 +02:00
Hardik Pawar
ff9fd2e2e4 refactor: Enhance docs, code, add tests in Median (#6751)
Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-12 22:51:54 +02:00
Shoyeb Ansari
bc7b656092 feat: added TwoSat solutions with Tests, also updated Directory.md (#6756)
* feat: added TwoSat solutions and Tests and also updated Directory.md

* added reference urls to the article related to the 2-SAT

* Fix generic type warnings in TwoSat.java

* maven build fix: added rawtypes in SuppressWarnings

* fixed  checkstyle error

* fix: Sorted import order

---------

Co-authored-by: a <alexanderklmn@gmail.com>
2025-10-12 22:46:12 +02:00
Hardik Pawar
74ddea6747 refactor: Enhance docs, code, add tests in KrishnaMurthyNumber (#6742)
* refactor: Enhance docs, code, add tests in `KrishnaMurthyNumber`

* Lint
2025-10-12 20:04:32 +00:00
Priyanshu Kumar Singh
9a907c8843 [FEAT] Implement Dials Algorithm (Graph) (#6679)
[FEAT] Implement Dials Algorithm(Graph)

Co-authored-by: Priyanshu1303d <priyanshu130d@gmail.com>
2025-10-12 21:25:21 +02:00
Hardik Pawar
14a23b709a refactor: Enhance docs, code, add tests in LowestBasePalindrome (#6648) 2025-10-12 11:05:30 +02:00
Hardik Pawar
c0ca70498b refactor: Enhance docs, code, add tests in PageRank (#6642) 2025-10-12 06:13:58 +00:00
Hardik Pawar
7fb4c8d60f refactor: Enhance docs, code, add tests in MinimaxAlgorithm (#6641)
* refactor: Enhance docs, code, add tests in `MinimaxAlgorithm`

* Fix

* Fix

* refactor: Enhance docs, code, add tests in `HappyNumbersSeq`

* Revert "refactor: Enhance docs, code, add tests in `HappyNumbersSeq`"

This reverts commit 9e8afb4f2c.
2025-10-12 06:07:17 +00:00
Hardik Pawar
b5246c3d86 refactor: Enhance docs, code, add tests in Huffman (#6646)
* refactor: Enhance docs, code, add tests in `Huffman`

* Fix lint

* Fix lint
2025-10-12 05:50:58 +00:00
Hardik Pawar
2a004a0141 refactor: Enhance docs, code, add tests in InsertDeleteInArray (#6647) 2025-10-12 05:37:53 +00:00
Hardik Pawar
f0fb971f35 refactor: Enhance docs, add tests in PerlinNoise (#6635)
* refactor: Enhance docs, add tests in `PerlinNoise`

* Fix lint

* Fix lint

---------

Co-authored-by: Deniz Altunkapan <deniz.altunkapan@outlook.com>
2025-10-11 13:15:18 +00:00
dependabot[bot]
69d8406a6b chore(deps): bump org.apache.maven.plugins:maven-pmd-plugin from 3.27.0 to 3.28.0 (#6728)
chore(deps): bump org.apache.maven.plugins:maven-pmd-plugin

Bumps [org.apache.maven.plugins:maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.27.0 to 3.28.0.
- [Release notes](https://github.com/apache/maven-pmd-plugin/releases)
- [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.27.0...maven-pmd-plugin-3.28.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-pmd-plugin
  dependency-version: 3.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 00:47:53 +03:00
dependabot[bot]
c691b313f1 chore(deps): bump com.puppycrawl.tools:checkstyle from 11.1.0 to 12.0.0 (#6719)
Bumps [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) from 11.1.0 to 12.0.0.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-11.1.0...checkstyle-12.0.0)

---
updated-dependencies:
- dependency-name: com.puppycrawl.tools:checkstyle
  dependency-version: 12.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-10 10:32:20 +02:00