525 Commits

Author SHA1 Message Date
8712a7f405 refactor: Queue (#5348) 2024-08-20 00:03:19 +03:00
04eae87512 refactor: DynamicArray (#5346) 2024-08-19 11:15:47 +03:00
33fd79ad55 refactor: OctalToHexadecimal (#5345) 2024-08-18 22:03:28 +03:00
a9f5b82708 refactor: OctalToDecimal (#5344) 2024-08-18 21:58:57 +03:00
2905ccbb20 refactor: DecimalToAnyBase (#5343) 2024-08-18 21:45:30 +03:00
404ad7272f refactor: Bag data structure (#5340) 2024-08-17 22:31:29 +03:00
e8985b3edb refactor: BinaryToOctal (#5338)
* refactor: BinaryToOctal

* checkstyle: fix formatting

* refactor: adding input correctness case, cover by tests. Renaming variable

---------

Co-authored-by: alxkm <alx@alx.com>
Co-authored-by: Bama Charan Chhandogi <b.c.chhandogi@gmail.com>
2024-08-17 19:06:45 +00:00
25b6aebe45 refactor: DecimalToHexadecimal (#5337) 2024-08-17 21:58:50 +03:00
d80fd0c623 refactor: DecimalToBinary (#5339) 2024-08-17 21:35:36 +03:00
7c58b190c8 chore: fix some comments (#5333) 2024-08-16 20:19:15 +03:00
98bee26d51 refactor: Dijkstra algorithm (#5329) 2024-08-16 17:55:42 +03:00
e32cab3189 refactor: BinaryToDecimal (#5330) 2024-08-16 17:48:47 +03:00
c20375ae0f refactor: BinaryToHexadecimal (#5331) 2024-08-16 17:43:54 +03:00
ec30592fcb refactor: DecimalToOctal (#5332) 2024-08-16 10:07:27 +03:00
a84a4a29ed refactor: cleanup InsertionSort (#5322) 2024-08-15 11:48:23 +03:00
046f5a4728 refactor: atoi (#5324) 2024-08-15 11:43:47 +03:00
134b42c7ff refactor: BloomFilter (#5325) 2024-08-15 11:30:53 +03:00
777de1da99 refactor: cleanup CycleSort (#5321) 2024-08-15 11:25:23 +03:00
8d0dd3ef32 refactor: cleanup DualPivotQuickSort (#5319) 2024-08-13 19:30:35 +03:00
41f76e0e89 refactor: simple improvements and cleanup for different sorts (#5320) 2024-08-13 19:26:48 +03:00
2837585705 refactor: IntrospectiveSort (#5316) 2024-08-11 21:00:47 +03:00
66bfaff807 refactor: cleanup CocktailShakerSort (#5317) 2024-08-11 20:55:11 +03:00
554b6cf006 refactor: simple improvements and cleanup for different sorts (#5318) 2024-08-11 20:44:22 +03:00
197718842f refactor: cleanup BucketSort (#5314) 2024-08-10 14:21:44 +03:00
7a5fe92b2a feat: FlashSort implementation (#5305) 2024-08-10 10:25:46 +03:00
324a35a939 Update GrahamScan.java (#5310)
* Update GrahamScan.java

improved the Javadoc comments, clarified some methods in the Point class, and corrected some text.

* Minor adjustment to GrahamScan.java

* revised GrahamScan.java

* Update-2 GrahamScan.java

* clang format GrahamScan.java

* reverted GrahamScan.java

* minor updates.java

* minor updates

* Spc.java

* clang format

---------

Co-authored-by: Alex Klymenko <alexanderklmn@gmail.com>
2024-08-09 15:03:54 +03:00
cafea1ee52 Refactored Identifiers (#5306)
Co-authored-by: Bama Charan Chhandogi <b.c.chhandogi@gmail.com>
2024-08-08 19:39:00 +05:30
6e23e198ab feat: SpreadSort implementation (#5308) 2024-08-08 10:45:33 +03:00
6f521145cc Update Average.java (#5309)
* Update Average.java

- Made the constructor throw an UnsupportedOperationException to prevent instantiation, making it explicit that this is a utility class.
- Added a private validateInput method to handle validation, reducing code duplication and improving readability.
- Consistent exception messages and handling for both methods.
- Improved comments to be more descriptive and follow JavaDoc conventions.
- Enhanced code readability and maintained consistent formatting.

* Minor Update Average.java

* Change To Average.java

* Mnr Average.java

* Update_Average.java

* Fix Average.java

1. throw new IllegalArgumentException("Numbers array cannot be empty or null");

2. int --> double

* fix2.java

return(double)..
2024-08-04 23:45:54 +05:30
fccd141014 refactor: cleanup CombSort (#5303)
refactor: cleanup CombSort

Co-authored-by: Alex Klymenko <alx@alx.com>
2024-08-02 09:06:45 +02:00
5113101e5d refactor: cleanup ShellSort (#5302) 2024-07-26 09:55:11 +03:00
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
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
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
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
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
5840579885 style: include BigIntegerInstantiation (#5294) 2024-07-16 11:39:11 +03:00
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
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
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
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
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
96e59e063a style: include DLS_DEAD_LOCAL_STORE (#5276) 2024-07-05 22:52:54 +03:00
5bc96cf789 style: include RV_ABSOLUTE_VALUE_OF_HASHCODE (#5273) 2024-07-02 22:47:35 +03:00
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
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
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
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
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
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