Git Product home page Git Product logo

dijkstra.net's People

Contributors

matiii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dijkstra.net's Issues

The ability to clear all the connections

Hi,

It would be great if we can clear all the connections. In my example, the cost value is time vs distance. I like to use the same nodes but reconnected them with a different value due to different times.

Connect nodes by values

I would like to have opportunity to connect nodes by their values. But here is some point of performance of searching in dictionary by values as tested here . Surely, I can store node key with it value as result of AddNode method, but by this way are very possible to eat whole RAM by duplication, by the fact, the same data. What solution will be optimal, you think? I prepared some simple solution and waiting for your response for previous PR.

Provide PageRank algorithm.

PageRank measures the importance of each vertex in a graph, assuming an edge from u to v represents an endorsement of vโ€™s importance by u. For example, if a Twitter user is followed by many others, the user will be ranked highly.

Grammar issue

Property with name IsFounded (link) should be IsFound, because the variable was not founded in 1983, so it should be IsFound

Automatic graph reset?

Hi, thanks for writing the library, It's very useful.

I have just hit a problem where subsequent uses of the same same graph result in inconsistent results.

And then I found graph.Reset()

I wonder if the dijkstra.Process() could call this automatically? It might save other developers some time.

Happy to create the PR.

For .Net4.0

Hi, my project is based on .net 4.0. Is there any possible to use this library?

Provide Connected Components algorithm.

The connected components algorithm labels each connected component of the graph with the ID of its lowest-numbered vertex. For example, in a social network, connected components can approximate clusters.

Not compatible with Xamarin

Could not install package 'Dijkstra.NET 1.0.6'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

AddNode method

Hello!
Nodes in a graph have indices starting from 1, but it is inconvenient.
I suggest to make following changes in method AddNode, If it is possible:

public uint AddNode(T item)
{
   uint key = (uint) _nodes.Count;
   AddNode(key, item);
   return key;
}

Or is there any reason that 1 is added to key?

Thanks!

Get custom info

Hello. Thank you a lot for wonderful library! (Where the "tips" section? =))
I not found solution how I can get custom info pushed to graph here:

graph.Connect(1, 2, 5, "some custom information in edge"); //First node has key equal 1 ShortestPathResult result = graph.Dijkstra(1, 2); //result contains the shortest path var path = result.GetPath();
So: I would like to have opportunity to get "some custom information in edge" by nodes links or whatever

Retrieving custom edge information

Hi!

I am wondering how/if it is possible to retrieve custom edge information added during graph generation via new Graph<T,TEdgeCustom>().Connect(). I was not able to figure out how to retrieve TEdgeCustom values.

Looking for testdata

Hi,
the benchmark section in the Readme.md states "For Graph where number of nodes is 1 000 000 and connections between them 1 000 000. The length of path is minimum 10." I couldn't find the testdata in this repository. Can you make it available? Thanks.
[Edit] Found it in BenchmarkBase.

Refactor Graph data structure.

Current graph data structure is developed for shortest path purpose. Refactor should allow using graph for wider amount of scenarios.

Define depth in Dijkstra algorithm.

At present depth of path is infinite. To define the shortest path worth it is to define not only sum of weights but number of paths also.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.