Solving Tree Data Problems with Coding: Python/Perl/Java/MATLAB

  • Context: MATLAB 
  • Thread starter Thread starter hoffmann
  • Start date Start date
  • Tags Tags
    Code
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
hoffmann
Messages
65
Reaction score
0
I have the following problem:

Suppose I have a tree of data as follows (Labels represent the branches of the tree, Nodes represent data "leaves" contained in the branches):

Label1
Node1
Node2
Label2
Node3
Label3
Node4
Node5
Label4
Node6

I want to move every "label" or "branch" of the tree that contains only one "node" or "leaf" into the highest level of the tree and delete that branch. I basically want to remove the branches that contain one leaf and move the data from that leaf into the highest level of the tree. So for the example I have, I would like it to become the following:

Label1
Node1
Node2
Node3
Node6
Label3
Node4
Node5

What is the best way to code such a problem, and would anyone language be suitable for this task? The data I have is in an excel file so I suppose I could do it in there but I'm looking for a more elegant way to do it, preferably in Python/Perl/Java/MATLAB. Thanks!
 
Physics news on Phys.org
i't very hard to understand your question, So , I draw two pictures to demostrate your question.

The original tree is like this:
http://zyh23.diinoweb.com/files/openPic/pf_tree1.jpg

After moving the single node to the first level and delete the related nodes.
http://zyh23.diinoweb.com/files/openPic/pf_tree2.jpg

I think it's very easy to do with some algorithms in " data structure" but, if you are manipulating Excel File, it's better to use Matlab...