Commit Graph

2193 Commits

Author SHA1 Message Date
Alex Klymenko
5113101e5d
refactor: cleanup ShellSort (#5302) 2024-07-26 09:55:11 +03:00
Alex Klymenko
ebed8b38b8
refactor: cleanup PigeonholeSort (#5298)
* refactor: PigeonholeSort

* checkstyle: fix formatting

* checkstyle: make class final

* refactor: changing negative numbers check first, fix typo, adding one more test for negative numbers

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2024-07-25 21:55:27 +02:00
Alex Klymenko
76a450fb75
feat: add PatienceSort (#5288)
* feat: PatienceSort

* refactor: fix readability issues,a and redundant check

---------

Co-authored-by: alxklm <alx@alx.com>
2024-07-24 17:32:47 +02:00
Alex Klymenko
08db744240
refactor: cleanup PancakeSort (#5295)
* refactor: PancakeSort cleanup, changing test to standard

* checkstyle: fix formatting

---------

Co-authored-by: alxklm <alx@alx.com>
2024-07-22 09:20:59 +02:00
Alex Klymenko
97d416e64e
refactor: cleanup StoogeSort (#5283)
* refactor: cleanup StoogeSort

* refactor: update DIRECTORY.md for StoogeSortTest

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
2024-07-20 19:28:06 +00:00
Alex Klymenko
94032148ca
refactor: cleanup RadixSort (#5280)
* refactor: refactoring RadixSort, adding test, update DIRECTORY.md

* checkstyle: fix formatting for test

* refactor: adding possibility to sort negative numbers. Improve tests. Improving code readability

* checkstyle: fix formatting

* refactor: resolve conflicts with master branch

* refactor: remove negative integers support

* checkstyle: fix formatting

* checkstyle: fix formatting, revert test

* refactor: adding return array to countDigits and buildOutput method, adding more specific description to javadocs

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-07-19 18:24:55 +02:00
dependabot[bot]
f1e26064a5
Chore(deps): bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 (#5296)
Bumps org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  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>
2024-07-18 08:27:37 +02:00
dependabot[bot]
f584cd9a98
Chore(deps): bump gitpod/workspace-java-21 from 2024-07-02-14-18-47 to 2024-07-14-17-19-51 (#5293)
Chore(deps): bump gitpod/workspace-java-21

Bumps gitpod/workspace-java-21 from 2024-07-02-14-18-47 to 2024-07-14-17-19-51.

---
updated-dependencies:
- dependency-name: gitpod/workspace-java-21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-07-16 11:05:17 +02:00
dependabot[bot]
ff0eca3caa
Chore(deps): bump org.apache.maven.plugins:maven-pmd-plugin from 3.23.0 to 3.24.0 (#5292) 2024-07-16 11:57:28 +03:00
Piotr Idzik
5840579885
style: include BigIntegerInstantiation (#5294) 2024-07-16 11:39:11 +03:00
Alex Klymenko
57878cac55
refactor: cleanup CycleSort (#5271)
* refactor: cleanup CycleSort. Adding test for it. Simplify code

* refactor: CycleSortTest to directory file

* tests: Adding more various tests cases for testing sorting algorithms

* checkstyle: imports and whitespaces fixes

* tests: removing boolean sorting

* checkstyle: fix "eedBraces: 'if' construct must use '{}'s"

* checkstyle: reduce "Too many static imports"

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
2024-07-13 22:44:49 +05:30
Alex Klymenko
2d6c39ce10
feat: CountingSort implementation (#5287)
* feat: CountingSort

* checkstyle: fix formatting

* refactor: adding additional final modifiers

* refactor: restructure sorting, update docs and tests

* docs: typo fix

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-07-12 20:03:54 +02:00
Alex Klymenko
87e6184494
cleanup: removing wrong CountingSort implementation (#5284)
cleanup: removing CountingSort

Co-authored-by: Alex Klymenko <alx@alx.com>
2024-07-12 08:49:11 +02:00
dependabot[bot]
8ea90fdd42
Chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.0 to 3.3.1 (#5282)
Chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin

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

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  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>
2024-07-11 08:41:44 +02:00
yuvashreenarayanan3
f83bb659ba
refactor: redesign ArrayCombination (#5181)
* Related to #5164 (Redesign of ArrayCombination)

* Checkstyle fix

* Clang_format

* refactor: cleanup

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
Co-authored-by: vil02 <vil02@o2.pl>
2024-07-10 19:20:32 +02:00
dependabot[bot]
06927d3fda
Chore(deps-dev): bump org.assertj:assertj-core from 3.26.0 to 3.26.3 (#5281)
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.26.0 to 3.26.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.26.0...assertj-build-3.26.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:development
  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>
2024-07-10 09:00:01 +02:00
Alex Klymenko
57f65808ad
refactor: MergeSortNoExtraSpace (#5277)
* refactor: MergeSortNoExtraSpace, change naming, adding test

* checkstyle: fix import ordering, and formatting

* fix: adding negative numbers check, fix possible overflow

* checkstyle: remove newline

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2024-07-09 22:44:42 +02:00
dependabot[bot]
14264602de
Chore(deps): bump gitpod/workspace-java-21 from 2024-06-26-08-49-45 to 2024-07-02-14-18-47 (#5279)
Chore(deps): bump gitpod/workspace-java-21

Bumps gitpod/workspace-java-21 from 2024-06-26-08-49-45 to 2024-07-02-14-18-47.

---
updated-dependencies:
- dependency-name: gitpod/workspace-java-21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 09:09:03 +02:00
dependabot[bot]
6b41c7d7a0
Chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.2 (#5278)
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.8.6.1 to 4.8.6.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.6.1...spotbugs-maven-plugin-4.8.6.2)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  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>
2024-07-09 09:01:00 +02:00
Piotr Idzik
96e59e063a
style: include DLS_DEAD_LOCAL_STORE (#5276) 2024-07-05 22:52:54 +03:00
Piotr Idzik
26b4b82949
style: include OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION (#5274) 2024-07-03 19:55:09 +03:00
Piotr Idzik
5bc96cf789
style: include RV_ABSOLUTE_VALUE_OF_HASHCODE (#5273) 2024-07-02 22:47:35 +03:00
dependabot[bot]
e63c39ac88
Chore(deps): bump gitpod/workspace-java-21 from 2024-06-24-08-46-07 to 2024-06-26-08-49-45 (#5272)
Chore(deps): bump gitpod/workspace-java-21

Bumps gitpod/workspace-java-21 from 2024-06-24-08-46-07 to 2024-06-26-08-49-45.

---
updated-dependencies:
- dependency-name: gitpod/workspace-java-21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 08:55:03 +02:00
Alex Klymenko
ac31fba37a
refactor: cleanup BeadSort (#5269)
* cleanup: BeadSort and BeadSortTest, adding javadocs

* checkstyle: fix formatting

* checkstyle: fix import order

* cleanup: improving code readability

* cleanup: improving code readability using enum to represent beads

* checkstyle: fix enum formatting

* fix: enum should be compared using ==, according to maven bugs finder plugin

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-07-01 22:26:15 +02:00
Alex Klymenko
208e1e99f0
refactor: BubbleSortRecursion: improving naming, adding standard test (#5267)
* refactor: improving naming, adding standard test

* style: remove `BubbleSortRecursive` from pmd exclude list

* docs: typo fix

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-30 17:51:11 +00:00
Alex Klymenko
758df7dcc3
feat: optimize SortUtils.swap by skipping operations for equal indices (#5266)
* Refactor: adding check to swap method in SortUtils

* Checkstyle: fix formatting

* Checkstyle: fix formatting, and redundant braces

* fix: adding flipped tests, removed messages from tests

* checkstyle: fix indent

* style: mark `temp` as `final`

* tests: remove test case with empty array

Such calls should be excluded.

---------

Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-29 22:33:40 +02:00
Alex Klymenko
20e7a3aca4
refactor: SelectionSort like classes and their tests (#5265)
* Refactor: Adding test common approach, adding javadocs, renaming variables

* Refactor: Fix failed build, when generated test case for recursion is too big. To avoid stackoverflow

* Checkstyle: Adding newline to end of class

* refactor: simplify assign minIndex in recursiveSelectionSort, and improving SelectionSort

* checkstyle: adding newline to SelectionSort

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-29 10:04:58 +02:00
Alex Klymenko
0087444e9f
feat: add SelectionSortRecursive (#5255)
* Implementation: SelectionSort using recursion

* Documentation: adding links

* Fix issue with findMinIndex

* Fix: change findMinIndex method to recursive

* Fix: improve variable change scope

* Fix: Replacing recursive method findMinIndex with iterative. To fix StackOverFlow on huge arrays

* refactor: remove `null` check

* Fix: Removing redundant null check

---------

Co-authored-by: alxklm <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-28 09:18:06 +02:00
dependabot[bot]
224ee3d227
Chore(deps-dev): bump org.junit.jupiter:junit-jupiter from 5.10.2 to 5.10.3 (#5262)
Chore(deps-dev): bump org.junit.jupiter:junit-jupiter

Bumps [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter
  dependency-type: direct:development
  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>
2024-06-28 07:01:39 +00:00
dependabot[bot]
c2a5c91920
Chore(deps-dev): bump org.junit.jupiter:junit-jupiter-api from 5.10.2 to 5.10.3 (#5263)
Chore(deps-dev): bump org.junit.jupiter:junit-jupiter-api

Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:development
  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>
2024-06-28 06:59:21 +00:00
dependabot[bot]
69f221683f
Chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.0 to 4.8.6.1 (#5261)
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.8.6.0 to 4.8.6.1.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.6.0...spotbugs-maven-plugin-4.8.6.1)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  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>
2024-06-28 08:56:46 +02:00
dependabot[bot]
cba28d31c5
Chore(deps): bump org.junit:junit-bom from 5.10.2 to 5.10.3 (#5260)
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.10.2...r5.10.3)

---
updated-dependencies:
- dependency-name: org.junit:junit-bom
  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>
2024-06-28 08:52:27 +02:00
Alex Klymenko
7054535d36
feat: add WaveSort (#5252)
* Implementing WaveSort Algorithm

* Refactor: Tests to ParameterizedTest

* Checkstyle: Fix wrong align

* Checkstyle: Fix wrong align for second line

* Checkstyle: Remove redundant line

* Naming: fix method name

* Documentation: adding links

* Fix: adding test for isWaveSorted method

* Documentation: adding description for WaveSort

* Testing: test wave sort assert

* Checkstyle: remove redundant whitespace

* Checkstyle: remove redundant newline

* Testing: improving tests

---------

Co-authored-by: alxklm <alx@alx.com>
Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2024-06-26 22:41:54 +02:00
dependabot[bot]
971f5fc85b
Chore(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.5.0 to 4.8.6.0 (#5256)
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.8.5.0 to 4.8.6.0.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.5.0...spotbugs-maven-plugin-4.8.6.0)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  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>
2024-06-26 08:48:20 +02:00
dependabot[bot]
f279f9d589
Chore(deps): bump gitpod/workspace-java-21 from 2024-06-17-10-03-09 to 2024-06-24-08-46-07 (#5253)
Dependabot couldn't find the original pull request head commit, a1d54164dac1d97b56d75099b00f7db58bf8fb48.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-25 07:01:32 +00:00
Piotr Idzik
cff3a59530
style: include BED_BOGUS_EXCEPTION_DECLARATION (#5233) 2024-06-25 06:51:24 +00:00
Piotr Idzik
d36f54bd39
style: include NM_CLASS_NAMING_CONVENTION and NM_METHOD_NAMING_CONVENTION (#5231) 2024-06-25 10:37:07 +05:30
Piotr Idzik
a710fe11c4
style: include SPP_USE_ISEMPTY (#5238) 2024-06-24 08:49:50 +00:00
Piotr Idzik
22f2abd94f
style: enable WhitespaceAround in checktyle (#5241) 2024-06-24 16:47:33 +08:00
abdala-elgendy
7b17ead902
chore: improve FibonacciHeap (#5251) 2024-06-24 16:42:29 +08:00
Alex Klymenko
a5b4c6173f
fix: avoid infinite loop in SwapSort (#5248)
---------

Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2024-06-24 08:49:01 +02:00
Alex Klymenko
308bdcfc19
Refactor: Replace Swap and Comparison Methods with SortUtils Utility Methods (#5246)
* Refactor: Replace Swap and Comparison Methods with SortUtils Utility Methods

* Rename parameter unsorted to array

---------

Co-authored-by: Alex Klymenko <alx@alx.com>
2024-06-22 22:29:17 +02:00
Alex Klymenko
e8f1990c8c
Replace the various swap method variants with SortUtils.swap (#5245)
Fix different variants of swap methods to SortUtils.swap

Co-authored-by: AlexKlm <alx@alx.com>
2024-06-22 10:18:39 +02:00
Alex Klymenko
8ef69bc854
Improving BitonicSort (#5244)
* Improving BitonicSort

* Moving max method to SortingUtils

* Adding Javadoc to merge method

* Fix for test and code improvements

* Improving code readability

* Renaming method parameters

---------

Co-authored-by: alx <alx@alx.com>
Co-authored-by: vil02 <65706193+vil02@users.noreply.github.com>
2024-06-21 19:37:58 +00:00
Alex K
15d2e70673
Refactoring and code improving for StrandSort (#5243)
* Refactoring and code improving for StrandSort

* Fix java checkstyle

* Fix "Each variable declaration must be in its own statement"

* Fix "uses integer based for loops to iterate over a List"

---------

Co-authored-by: alx <alx@alx.com>
2024-06-20 17:47:43 +02:00
Alex K
91101ec424
Refactoring and code improving for OddEvenSort (#5242)
* Refactoring and code improving for OddEvenSort, changing it according to SortAlgorithm approach, also applying SortUtils

* Fix checkstyle

* Remove redundant main, remove redundant tests.

---------

Co-authored-by: alx <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-20 08:26:09 +02:00
Alex K
a9db8428b2
Refactoring BinaryInsertionSort according to common SortAlgorithm approach (#5239)
* Refactoring BinaryInsertionSort according to common SortAlgorithm approach

* Formatting has been fixed

* Refactoring tests for BinaryInsertionSort according to SortingAlgorithmTest

* Removing redundant tests and improving variable readability

---------

Co-authored-by: alx <alx@alx.com>
Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com>
2024-06-19 18:57:54 +02:00
dependabot[bot]
bf4fc3f9c2
Chore(deps): bump org.apache.commons:commons-collections4 from 4.5.0-M1 to 4.5.0-M2 (#5240)
Chore(deps): bump org.apache.commons:commons-collections4

Bumps org.apache.commons:commons-collections4 from 4.5.0-M1 to 4.5.0-M2.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-collections4
  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>
2024-06-19 07:18:53 +02:00
Samuel Facchinello
74e51990c1
style: enable InvalidJavadocPosition in checkstyle (#5237)
enable style InvalidJavadocPosition

Co-authored-by: Samuel Facchinello <samuel.facchinello@piksel.com>
2024-06-18 19:34:22 +02:00
dependabot[bot]
39e065437c
Chore(deps): bump gitpod/workspace-java-21 from 2024-06-10-10-39-01 to 2024-06-17-10-03-09 (#5235)
Chore(deps): bump gitpod/workspace-java-21

Bumps gitpod/workspace-java-21 from 2024-06-10-10-39-01 to 2024-06-17-10-03-09.

---
updated-dependencies:
- dependency-name: gitpod/workspace-java-21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 08:40:46 +02:00