Comments (4)
The Gem does not explicitly support graphs, as this feature requires cycle detection functionality. However, it should be relatively easy to make it happen (the nodes can refer to other nodes in the tree.
from rubytree.
will it be easy to run dijkstras algo on it?
from rubytree.
Perhaps or depends. If you are trying to depict the graph itself, then do remember that the gem does work on a node-by-node basis, but some of the methods assume that it is a Tree (i.e., there is a ROOT, child nodes, etc.), whereas what you need is pure nodes with a peer relationship, not the hierarchical one that a tree imposes.
However, I think it will be possible to use RubyTree as a graph as well, provided the cycle detection is handled by the client code. It will actually be very interesting to check this out.
On the other hand, if you are trying to use RubyTree as a scratch-space during the length computations for Dijkstra's algorithm, then it is an immediate fit (though a stack or a heap would also work equally well).
from rubytree.
thanks for your help.
from rubytree.
Related Issues (20)
- `#from_hash` in the `HashConverter` does not accept `HashWithIndifferentAccess` data type
- Serious bug in Tree::TreeNode#node_depth HOT 4
- undefined method `replace_with' HOT 3
- Performance issues HOT 3
- Get Node Path HOT 4
- Inifinite recursion when tree object used in RSpec expectations HOT 1
- find & findAll in tree HOT 2
- print_tree is undefined while running the example_basic.rb HOT 3
- Reconsider Using structured_warnings HOT 8
- JSON.parse not compiling to a Tree::TreeNode HOT 3
- Ruby 2.4 issue with structured_warnings dependency
- printTree OR print_tree? HOT 1
- Bump to JSON v.2 HOT 3
- Allow input of a custom IO for print_tree HOT 1
- calling 'protected' without arguments inside a method generates a StructuredWarnings::BuiltInWarning HOT 3
- camel_case_method_handler.rb generate warning in ruby 3.0.* HOT 3
- structured_warnings breaks Logger.warn HOT 3
- Please release gem 1.0.1 for Ruby 2.7 HOT 4
- Behaviour of method `#<=>` may need update
- Clarification of the used BSD licence HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rubytree.