* Added Middle of linked-list implementation.
* Added Middle of LL function and tests
* Refactor: Added method in singly LL and its tests
* Refactor: Method name and inline test calls
* Use `!== null` instead of `!= null`
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
The original insertBalance function was doing raw value comparisons as opposed to using the tree's comparator. This is clearly unintentional, and would (ultimately) cause the structure to segfault when constructed with the stringData included in the updated test.
I've added the fix, scanned the rest of the code for similar issues, and added the appropriate test case which passes successfully with the fix. The jest code coverage increases slightly as well with the changes.
* Add test case to jump search Algorithm
* Updated Documentation in README.md
* Remove commented code
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* 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>