* Combined Min Heap and Max Heap classes
* Added JSdoc comments and also improved tests for binary heap
* Added private methods for BinaryHeap class
* JSDoc knows that a class is a class
I assume the @class tag is for classes implemented via constructor functions, not using ES6 class syntax
---------
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
* chore: Switch to Node 20 + Vitest
* chore: migrate to vitest mock functions
* chore: code style (switch to prettier)
* test: re-enable long-running test
Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime!
see #1193
* chore: code style
* chore: fix failing tests
* Updated Documentation in README.md
* Update contribution guidelines to state usage of Prettier
* fix: set prettier printWidth back to 80
* chore: apply updated code style automatically
* fix: set prettier line endings to lf again
* chore: apply updated code style automatically
---------
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
* ref: KeyPriorityQueue in separate file #1298
* feat: add tests for KeyPriorityQueue #1298
* fix: _shiftDown refactored and corrected #1298
* fix: use KeyPriorityQueue in PrimMST #1298
* feat: add test for PrimMST #1298
* fix: format files #1298
* fix: minor coding style changes
* fix: use map for keys and priorities #1298