* feat: improved memoize function
used Map instead of object & used the JSON.stringfy method for generate a valid string as a key
* docs: modified documentation
* style: format with standard
* docs: modified stringify doc
* refactor: remove two repetition implementation
* feat: added validation, test codes
* chore: remove useless words
* feat: added types for jest
* chore: added link box
* feat: added new validation test casses & methods
* style: formated with standard
* feat: added parse method & test cases
* docs: added js docs
* chore: added default import export
* feat: imporved algorithm via replace method
* test: added two test cases
* feat: added jest type for suggestions
* feat: added `reduceRight` & `trim` method
* chore: added helper variable
* feat: added new rotation option
* Revert "chore: added helper variable"
This reverts commit 489544da0a3d479910fbea020d3be3d0d10681bf.
* remove: yarn lock
* chore: fix grammer
* feat: used replace method & added test case
* feat: remove revert
* chore: added new line
* feat: updated the Queue array to linkedlist DS
* chore: fixed grammer
* resolve: removed capacity related codes, & updated test cases
* feat: added length dicrease code on dequeue
* Auto-update DIRECTORY.md
* fix: some redundancy according to standard javascript library
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Improving the coding standard for AvLTree Data Structure
* Test case creation for AVLTree
~ Created test cases for AVL Tree
~ Indentation fix for AVLTree.js
* Auto-update DIRECTORY.md
* Change in logic for data list
* Style fix based on standard.js
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Create find_relative_maximum_point_count.js
print number of relative maximum points in array
runs in O(n)
* rename file to match requested casing
* add inline comments and greater documentation
* fix wrong reference to algorithm explanation
* remove live code and fix function misnaming
* add multiple cases tests
* add last line as empty line
* git pull
* style changes
* move tests to test folder
* chore: fix spelling
* fix package-lock
* revert to old lock file
* chore: add line feed
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* Create first_relative_max_point_in_array.js
go over randomly generated array and print first spike or maximum point index in it
runs in O(log(n))
* rename file to match requested casing
* add comments
I prefer SOLID standards so that's why didn't add them at first but due to the repository requirements was needed to be added
* remove template unrelated comments
* Update equals check to match JavaScript standards
* create file skafolding and adjust filename to reflect main function
* using newer node version
* add tests
* add last line as empty line
* style changes
* move algorithm tests to test folder
* revert to old package lock file
* chore: add ending line feed
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* fixed some spellings
* Update Data-Structures/Linked-List/SinglyLinkList.js
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* Migrate doctest for Vector2.js
* Remove eslint disabling for no-unused-vars since now the class is exported at the end of the file
* Group all related tests to own jest describe blocks
* Improve the doc-comment by fixing it's formatting
* Remove QuickSelect doctest
There are more Jest test cases already.
* Remove AverageMedian doctest
Already migrated to jest
* Migrate doctest for BinaryExponentiationRecursive.js
(also remove inline "main" test method)
* Migrate doctest for EulersTotient.js
(also remove inline "main" test method)
* Migrate doctest for PrimeFactors.js
(also remove inline "main" test method)
* Migrate doctest for BogoSort.js
Re-write prototype-polluting helper methods, too.
(also remove inline test driver code)
* Migrate doctest for BeadSort.js
(also remove inline test driver code)
* Migrate doctest for BucketSort.js
(also remove inline test driver code)
* Migrate doctest for CocktailShakerSort.js
(also remove inline test driver code)
* Migrate doctest for MergeSort.js
(also remove inline test driver code)
* Migrate doctest for QuickSort.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
* Migrate doctest for ValidateEmail.js
* Migrate doctest for ConwaysGameOfLife.js
(remove the animate code, too)
* Remove TernarySearch doctest
Already migrated to jest
* Migrate doctest for BubbleSort.js
(also remove inline test driver code)
* Remove doctest from CI and from dependencies
relates to #742fixes#586
* Migrate doctest for RgbHsvConversion.js
* Add --fix option to "standard" npm script
* Migrate doctest for BreadthFirstSearch.js
(also remove inline test driver code)
* Migrate doctest for BreadthFirstShortestPath.js
(also remove inline test driver code)
* Migrate doctest for EulerMethod.js
(also remove inline test driver code)
Move manual test-code for plotting stuff in the browser in a distinct file, too. Those "*.manual-test.js" files are excluded from the UpdateDirectory.mjs script, as well.
* Migrate doctest for Mandelbrot.js
(also remove inline test driver code & moved manual drawing test into a *.manual-test.js)
* Migrate doctest for FloodFill.js
* Migrate doctest for KochSnowflake.js
(also move manual drawing test into a *.manual-test.js)
* Update npm lockfile
* Update README and COMMITTING with a few bits & bobs regarding testing & code quality
* add link to function description
* fix formatting for consistency
* export function so it can be imported for testing
* throw error on invalid input
* add tests for QuickSelect.js
* remove unnecessary comment
* Update Data-Structures/Array/QuickSelect.js
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>