mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-04 07:29:47 +08:00
feat: Test running overhaul, switch to Prettier & reformat everything (#1407)
* 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>
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
class Node {
|
||||
constructor (data) {
|
||||
constructor(data) {
|
||||
this.data = data
|
||||
this.left = null
|
||||
this.right = null
|
||||
@ -12,11 +12,11 @@ class Node {
|
||||
}
|
||||
|
||||
class BinaryTree {
|
||||
constructor () {
|
||||
constructor() {
|
||||
this.root = null
|
||||
}
|
||||
|
||||
breadthFirstIterative () {
|
||||
breadthFirstIterative() {
|
||||
const traversal = []
|
||||
if (this.root) {
|
||||
traversal.push(this.root)
|
||||
@ -34,7 +34,7 @@ class BinaryTree {
|
||||
return traversal
|
||||
}
|
||||
|
||||
breadthFirstRecursive () {
|
||||
breadthFirstRecursive() {
|
||||
const traversal = []
|
||||
const h = this.getHeight(this.root)
|
||||
for (let i = 0; i !== h; i++) {
|
||||
@ -44,7 +44,7 @@ class BinaryTree {
|
||||
}
|
||||
|
||||
// Computing the height of the tree
|
||||
getHeight (node) {
|
||||
getHeight(node) {
|
||||
if (node === null) {
|
||||
return 0
|
||||
}
|
||||
@ -53,7 +53,7 @@ class BinaryTree {
|
||||
return lheight > rheight ? lheight + 1 : rheight + 1
|
||||
}
|
||||
|
||||
traverseLevel (node, levelRemaining, traversal) {
|
||||
traverseLevel(node, levelRemaining, traversal) {
|
||||
if (node === null) {
|
||||
return
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
* Author: Surendra Kumar
|
||||
* DFS Algorithm implementation in JavaScript
|
||||
* DFS Algorithm for traversing or searching graph data structures.
|
||||
*/
|
||||
*/
|
||||
|
||||
// traverses a give tree from specified root's value
|
||||
function traverseDFS (tree, rootValue) {
|
||||
function traverseDFS(tree, rootValue) {
|
||||
const stack = []
|
||||
const res = []
|
||||
stack.push(searchDFS(tree, rootValue))
|
||||
@ -24,7 +24,7 @@ function traverseDFS (tree, rootValue) {
|
||||
return res.reverse()
|
||||
}
|
||||
|
||||
function searchDFS (tree, value) {
|
||||
function searchDFS(tree, value) {
|
||||
const stack = []
|
||||
stack.push(tree[0])
|
||||
while (stack.length !== 0) {
|
||||
|
@ -2,10 +2,10 @@
|
||||
* Author: Mohit Kumar
|
||||
* Fenwick Tree Implementation in JavaScript
|
||||
* Fenwick Tree Implementation for finding prefix sum.
|
||||
*/
|
||||
*/
|
||||
|
||||
class FenwickTree {
|
||||
constructor (feneickArray, array, n) {
|
||||
constructor(feneickArray, array, n) {
|
||||
for (let i = 1; i <= n; i++) {
|
||||
feneickArray[i] = 0
|
||||
}
|
||||
@ -14,20 +14,20 @@ class FenwickTree {
|
||||
}
|
||||
}
|
||||
|
||||
update (feneickArray, n, index, value) {
|
||||
update(feneickArray, n, index, value) {
|
||||
index = index + 1
|
||||
while (index <= n) {
|
||||
feneickArray[index] += value
|
||||
index += index & (-index)
|
||||
index += index & -index
|
||||
}
|
||||
}
|
||||
|
||||
getPrefixSum (feneickArray, index) {
|
||||
getPrefixSum(feneickArray, index) {
|
||||
let currSum = 0
|
||||
index = index + 1
|
||||
while (index > 0) {
|
||||
currSum += feneickArray[index]
|
||||
index -= index & (-index)
|
||||
index -= index & -index
|
||||
}
|
||||
|
||||
return currSum
|
||||
|
Reference in New Issue
Block a user