1.0.2 • Published 6 months ago

grid-solver v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Grid Solver

A class-based maze/grid solver using Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms. This package allows you to solve mazes and find paths using either BFS or DFS based on your requirements.

Installation

To install the grid-solver package, you can use npm:

npm install grid-solver

Usage

You can use this package to solve a maze by selecting either BFS or DFS for pathfinding.

Parameters

  • maze/grid : A 2D array representing the maze/grid. Each cell can be 0 (open path) or 1 (wall).
  • start: An array representing the starting point in the format row, col.
  • end: An array representing the ending point in the format row, col.
  • algorithm (optional): The algorithm to use for pathfinding. Can be either 'bfs' (default) or 'dfs'.

Algorithms

  • BFS (Breadth-First Search): Finds the shortest path from the start to the end. It explores the maze/grid level by level.
  • DFS (D- epth-First Search): Finds a valid path from the start to the end (not necessarily the shortest). It explores as deep as possible before backtracking.

Methods

  • solve(): Solves the maze/grid using the selected algorithm ('bfs' or 'dfs'). Returns the path from the start to the end.
  • reconstructPath(parent): Reconstructs the path from the end to the start using the parent mapping.

Example

const GridSolver = require('grid-solver');

const grid = [
  [0, 0, 1, 1, 0, 0],
  [1, 0, 1, 0, 1, 0],
  [0, 0, 0, 0, 0, 1],
  [0, 1, 1, 1, 0, 0],
  [1, 0, 0, 1, 0, 0],
  [0, 0, 0, 0, 0, 0]
];
const start = [0, 0];
const end = [5, 5];

const gridSolverBFS = new GridSolver(grid, start, end, 'bfs');
const pathBFS = gridSolverBFS.solve();
console.log('BFS Path:', pathBFS); 

const gridSolverDFS = new GridSolver(grid, start, end, 'dfs');
const pathDFS = gridSolverDFS.solve();
console.log('DFS Path:', pathDFS); 

Contributing

Feel free to fork the repository, make changes, and submit pull requests. Contributions are always welcome ❤️! Stay permissionless!!! 👨‍💻

License

ISC License

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago