mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 09:28:26 +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:
@ -1,24 +1,24 @@
|
||||
class Graph {
|
||||
constructor () {
|
||||
constructor() {
|
||||
this.adjacencyMap = {}
|
||||
}
|
||||
|
||||
addVertex (vertex) {
|
||||
addVertex(vertex) {
|
||||
this.adjacencyMap[vertex] = []
|
||||
}
|
||||
|
||||
containsVertex (vertex) {
|
||||
return typeof (this.adjacencyMap[vertex]) !== 'undefined'
|
||||
containsVertex(vertex) {
|
||||
return typeof this.adjacencyMap[vertex] !== 'undefined'
|
||||
}
|
||||
|
||||
addEdge (vertex1, vertex2) {
|
||||
addEdge(vertex1, vertex2) {
|
||||
if (this.containsVertex(vertex1) && this.containsVertex(vertex2)) {
|
||||
this.adjacencyMap[vertex1].push(vertex2)
|
||||
this.adjacencyMap[vertex2].push(vertex1)
|
||||
}
|
||||
}
|
||||
|
||||
printGraph (output = value => console.log(value)) {
|
||||
printGraph(output = (value) => console.log(value)) {
|
||||
const keys = Object.keys(this.adjacencyMap)
|
||||
for (const i of keys) {
|
||||
const values = this.adjacencyMap[i]
|
||||
@ -34,13 +34,14 @@ class Graph {
|
||||
* Prints the Breadth first traversal of the graph from source.
|
||||
* @param {number} source The source vertex to start BFS.
|
||||
*/
|
||||
bfs (source, output = value => console.log(value)) {
|
||||
bfs(source, output = (value) => console.log(value)) {
|
||||
const queue = [[source, 0]] // level of source is 0
|
||||
const visited = new Set()
|
||||
|
||||
while (queue.length) {
|
||||
const [node, level] = queue.shift() // remove the front of the queue
|
||||
if (visited.has(node)) { // visited
|
||||
if (visited.has(node)) {
|
||||
// visited
|
||||
continue
|
||||
}
|
||||
|
||||
@ -56,8 +57,9 @@ class Graph {
|
||||
* Prints the Depth first traversal of the graph from source.
|
||||
* @param {number} source The source vertex to start DFS.
|
||||
*/
|
||||
dfs (source, visited = new Set(), output = value => console.log(value)) {
|
||||
if (visited.has(source)) { // visited
|
||||
dfs(source, visited = new Set(), output = (value) => console.log(value)) {
|
||||
if (visited.has(source)) {
|
||||
// visited
|
||||
return
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user