Giter Site home page Giter Site logo

treeviz's People

Contributors

andreasarne avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

treeviz's Issues

Support for circular lists?

Current implementation of linked list builder will result in a forever loop if the structure is a circular list.

How to avoid a for ever loop from end to start? Can it be done or should we actively not support circular lists.

Support for visualizing recursive function calls

Is it possible to visualize recursive function calls using graphviz in a good way?

Could maybe create a decorator function which the students can add to their recursive function. Each time their function is called, create a .dot node.
In outer decorator function we can setup a new builder object for recursion. And everytime inner is called, add node to builder. Can inner be a instance method? Since it the the sudents function becomes the returned method, will it work correctly with the instance?

Handle render recursion when the function wasn't called

@recursion_viz
def a_func():
    a_func()
recursion_to_png("a_func")
# index out of range error

If the decorated function isn't called before trying to render it. We get an IndexError.

Check that function was called and if not give indication about it.

Create GIF of how the strucutre is built

It would be cool if we could create a .gif of how the structure is built.

For each "event"/node added, create a picture and then turn all of the pictures into a .gif.

ID for vertexes can't handle two vertexes with same key, shows them as one instead of two different vertexes.

For BBT, if two vertexes has the same key but are two different vertexes they are shown as one vertex instead of 2 in image.
A students tree looked correct, however is_bst() returned false. After a remove the student forgot to update parent referens to new node. But the old and the new parent both had the same key so treevizer showed a correct tree instead of showing two vertexes with the same key.

Know errors and warnings

Warning: node '', graph '%3' size too small for label

The size of the nodes in graph is to small for content. Increase width of node in configuration.

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.