Code Monkey home page Code Monkey logo

algorithms's People

Contributors

marc22alain avatar

Watchers

 avatar  avatar

algorithms's Issues

Consecutively loading multiple graphs leads to odd behaviour

Multiple nodes of the same name will be displayed, while only the most recently produced one will be valid.
This only occurs if not clicking on the "Clear all elements" in the top window menu between the loading of each graph.

The expected behaviour of the "load graph" button is therefore ambiguous: should it allow for extending the current graph, or should it clear the current one before creating the new one?

DFS algorithm does not support drawing the progress of edge exploration

The CLRS algorithm explores adjacent vertices, so the implementation does too (neighbouring vertices), without recording any data relatable to the edges themselves. Therefore, when drawing the graph, there is no property of the edges that can direct how they should be drawn.
CLRS do show how edges are explored, with step-by-step illustrations in the text-book, but their pseudo-code does not support that either.

Algorithm initialization is not synced with completion of graph production

The user can choose an algorithm at any time, either after the graph is complete, during its production, or when it is empty. Currently, when the user chooses an algorithm in the top window menu, it is initialized with the graph in that current state. Later user additions to the graph do not re-initialize the graph.
Other case: the user has used the algorithm to process a graph, then clears all and begins a new one. The clearAll method will reinitialize the algorithm with an empty graph.
The only time that we really know that the user is done producing the graph is when they first click on the "Do step..." button.

Dijkstra does not support 'doStep()'

Implement the 'doStep()' method and implement a drawing procedure that well explains the single-source-shortest-paths progression.
Also determine how the user can define the source vertex in graph_maker.

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.