rvhuang / linq-to-astar Goto Github PK
View Code? Open in Web Editor NEWA* written in C#, used with LINQ.
Home Page: https://pathfinding-lab.codedwith.fun/
License: MIT License
A* written in C#, used with LINQ.
Home Page: https://pathfinding-lab.codedwith.fun/
License: MIT License
I am looking to use this library for a GIS project. In this case I have a a list of cities with x,y coordinates. I also have a list of connections between two cities. Each connection has a weight based on the geodesic distance between the two points. Looking to get shortest path between two given cities with alternate routings as well.
First, is this type of problem possible with the library and if so is there an example I could use as a template? Second, do the algorithms have a setting for the max number of connections used in a possible solution? Say for example, a max of 3 connections are allowed in a solution.
Many Thanks.
Add an A* algorithm alternative implementation that will override the depth (level) of a node. (Current implementation does not override)
The NuGet package will support SourceLink in future, after SourceLink's general release is out.
Support ElementAt()
and ElementAtOrDefault()
that allow users to avoid unwanted object allocations.
The candidate list reported by ObservableRecursiveBestFirstSearch<TFactor, TStep>
does not include candidates that are expanded in the last recursion.
Before 1.0.0 release, following renaming tasks need to be done:
LinqToAStar
to Heuristic.Linq
.Core
to Algorithms
.Heuristic.Linq
as assembly name and NuGet package ID.Implement Jump Point Search (JPS).
In some cases Extensions
methods are not called when using LINQ expressions in *.cshtml files. This is because Razor only supports one type parameter whereas Extensions
needs two.
Support Take()
and TakeWhile()
methods that allow users to avoid unwanted object allocations.
In some cases, current implementation of A* algorithm will not end if map boundary check is not presented in LINQ expression. The AStar.Run()
method needs to be reviewed.
Support Skip()
and SkipWhile()
methods that allow users to avoid unwanted object allocations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.