{"id":22367262,"url":"https://github.com/yeyom/mazesolver","last_synced_at":"2025-10-15T01:31:54.291Z","repository":{"id":134244419,"uuid":"573041377","full_name":"YeyoM/mazeSolver","owner":"YeyoM","description":"Maze Solver built with python. Using DFS, BFS, Dijkstra, A* Star.","archived":false,"fork":false,"pushed_at":"2022-12-01T22:32:09.000Z","size":806,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T18:22:42.527Z","etag":null,"topics":["a-star","bfs","dfs","dijkstra-algorithm","maze","maze-algorithms","maze-generator","maze-generator-solver","maze-solver","search-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YeyoM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-01T15:15:59.000Z","updated_at":"2024-12-18T18:39:46.000Z","dependencies_parsed_at":"2024-08-11T00:32:17.440Z","dependency_job_id":null,"html_url":"https://github.com/YeyoM/mazeSolver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YeyoM/mazeSolver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YeyoM%2FmazeSolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YeyoM%2FmazeSolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YeyoM%2FmazeSolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YeyoM%2FmazeSolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YeyoM","download_url":"https://codeload.github.com/YeyoM/mazeSolver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YeyoM%2FmazeSolver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279032997,"owners_count":26089390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a-star","bfs","dfs","dijkstra-algorithm","maze","maze-algorithms","maze-generator","maze-generator-solver","maze-solver","search-algorithm"],"created_at":"2024-12-04T18:16:56.979Z","updated_at":"2025-10-15T01:31:54.286Z","avatar_url":"https://github.com/YeyoM.png","language":"Python","readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/YeyoM/mazeSolver\"\u003e\n    \u003cimg src=\"public/icon.svg\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eMaze Solver\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Generate and solve a maze with Python.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/YeyoM/mazeSolver\"\u003e\u003cstrong\u003eExplore the code »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/YeyoM/mazeSolver/issues\"\u003eReport Bug\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n[![Product Name Screen Shot][product-screenshot]](https://github.com/YeyoM/mazeSolver)\n\n### What does this project do?\n\nThis project uses various techniques to generate and solve a maze using python in an easy way, to generate the maze we follow the following steps:\n\n- Generate a matrix full of 0's which represents obtacles\n- Generate a grid in the matrix with 1's which representes paths that the algorithm will be able to follow\n- Using DFS we \"carve\" the maze generating paths between spaces in the grid which, seen from a graph approach, the spaces in the grid are nodes, the objective is to connect this nodes.\n\nFor the solution part, there are available 4 algorithms\n\n#### DFS and BFS\n\nBFS, Breadth-First Search, is a vertex-based technique for finding the shortest path in the graph. It uses a Queue data structure that follows first in first out. In BFS, one vertex is selected at a time when it is visited and marked then its adjacent are visited and stored in the queue. It is slower than DFS. \n\nDFS, Depth First Search, is an edge-based technique. It uses the Stack data structure and performs two stages, first visited vertices are pushed into the stack, and second if there are no vertices then visited vertices are popped. \n\n#### Dijkstra\n\nDijkstra's algorithm allows us to find the shortest path between any two vertices of a graph. Djikstra used this property in the opposite direction i.e we overestimate the distance of each vertex from the starting vertex. Then we visit each node and its neighbors to find the shortest subpath to those neighbors.\n\nThe algorithm uses a greedy approach in the sense that we find the next best solution hoping that the end result is the best solution for the whole problem.\n\n#### A* Star\n\nInformally speaking, A* Search algorithms, unlike other traversal techniques, it has “brains” (in the code is called heuristic). What it means is that it is really a smart algorithm which separates it from the other conventional algorithms. This fact is cleared in detail in below sections. \nAnd it is also worth mentioning that many games and web-based maps use this algorithm to find the shortest path very efficiently (approximation). \n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nTo get a local copy up and running follow these simple example steps.\n\n### Prerequisites\n\n- Have python installed in your computer\n\n- Install with pip the following: random, numpy and time.\n\n- Clone the repo\n   ```sh\n    git clone https://github.com/YeyoM/mazeSolver.git\n   ```\n- The entry point of the code is main.py\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See LICENSE.txt for more information.\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nYeyoM - [@YeyoMoreno24](https://twitter.com/YeyoMoreno24) - yeyomoreno2003@hotmail.com\n\nMaze Solver - [https://github.com/YeyoM/mazeSolver](https://github.com/YeyoM/mazeSolver)\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[product-screenshot]: public/screenshot.png","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeyom%2Fmazesolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeyom%2Fmazesolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeyom%2Fmazesolver/lists"}