Forum: Ruby Tree class

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Mickael F. (Guest)
on 2005-11-25 14:57
(Received via mailing list)
Hi,

Is there a tree class in the language or a good lib out there ?
Thanks for your suggestions.
bob.news (Guest)
on 2005-11-25 15:05
(Received via mailing list)
Mickael Faivre-Macon wrote:
> Hi,
>
> Is there a tree class in the language or a good lib out there ?
> Thanks for your suggestions.

http://raa.ruby-lang.org/search.rhtml?search=tree

Kind regards

    robert
Mickael F. (Guest)
on 2005-11-25 15:13
(Received via mailing list)
Hi Robert,

Thanks for your reply.

What would be the reference class for Ruby ?
For example it is said tat REXML is the reference for managing XML.
Is there such a librairy for trees ?

A lot of lib in the RAA are too specialized (binary trees, avl,
redblack trees, etc)
I am searching for a general tree class.

Mickael.
ruby.brian (Guest)
on 2005-11-25 15:41
(Received via mailing list)
On 25/11/05, Mickael Faivre-Macon <removed_email_address@domain.invalid> wrote:
> I am searching for a general tree class.
> >
> > http://raa.ruby-lang.org/search.rhtml?search=tree
> >
> > Kind regards
> >
> >     robert
> >
> >
> >
>

The question should be what you want to do with your tree. You should
pick a datastructure suitable for your problem, there is no tree per
se. It depends on which pointers you need and which structure your
tree should have.

If you just want nodes with children try this "reference implementation"

---
class Node
  attr_reader :children

  def initialize
    @children = []
  end
end
---

which may or may not suit your needs.

Cheers,

Brian

--
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/
Mickael F. (Guest)
on 2005-11-25 20:04
(Received via mailing list)
Hi Brian,

> The question should be what you want to do with your tree. You should
> pick a datastructure suitable for your problem, there is no tree per
> se. It depends on which pointers you need and which structure your
> tree should have.

My question was simple, the concept of tree is simple too, I don't
want to over complicate the problem. I must assume that there is no
generic tree implementation in Ruby avalaible right now. Okay.

> ---
>
> which may or may not suit your needs.

Sure, this is a good start. I can start by using this.
I was wondering if I had to reinvent the wheel or not.
I guess I have to.

Mickael.
ruby.brian (Guest)
on 2005-11-25 20:20
(Received via mailing list)
On 25/11/05, Mickael Faivre-Macon <removed_email_address@domain.invalid> wrote:
>
> > ---
> >
> > which may or may not suit your needs.
>
> Sure, this is a good start. I can start by using this.
> I was wondering if I had to reinvent the wheel or not.
> I guess I have to.
>
> Mickael.
>
>

What I wanted to say, was that most probably you do not have to
reinvent the wheel if you are more specific about your application.
What do you want to achieve: Find elements in a set fast, Have a
datastructure where you can access and delete the smallest element in
a fast way, build an index into a sorted array that allows for fast
range searches, draw a natural tree with real leaves onto the computer
monitor, structure a decision diagram, index a text, ....

Depending on what you want to achieve a specialized datastructure is
usefull, but there is no datastructure that can do all things equally
well.

hope to help,

Brian

--
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/
This topic is locked and can not be replied to.