Thread Aufbau einer Baumstruktur aus Hash-Informationen (2 answers)
Opened by Netsrot50 at 2010-07-27 09:09

Gast Netsrot50
 2010-07-27 09:09
#140074 #140074
Hallo zusammen,

ich habe ein Hash in dem Daten zu einer Baumstruktur enthalten sind. Und zwar so, dass der Key ein Element des Baums spezifiziert und der Value das Elternelement anzeigt (es geht bei mir um eine Liste aus Process IDs).

Beispiel

Dieser Hash:
Code: (dl )
1
2
3
4
5
6
7
8
9
{
'12' => '11'
'11' => '10'
'10' => '888'
'17' => '42'
'999 ' => '42'
'42' => '4711'
'23' => '4711'
}


...würde diesen Baum definieren:
Code: (dl )
1
2
3
4
5
6
7
8
9
4711
|- 23
|- 42
|- 999
|- 17
888
|- 10
|- 11
|- 12


Mein Ziel ist es nun, dieses Hash in eine Datenstruktur zu überführen, in dem die Baumstruktur durch entsprechende Verschachtelungen abgebildet ist. Mein Beispiel könnte z.B. so aussehen (muss aber nicht):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[
{ '4711' => {
'23' => '-1'
'42' => {
'999' => '-1'
'17' => '-1'
}
},
'888' => {
'10' => {
'11' => {
'12' => '-1'
}
}
}
}
]


(wobei ein Wert von '-1' bedeutet, dass es sich um ein Element ohne Kinderelemente handelt).

Hat jemand eine gute Idee, wie sich das elegant bewerkstelligen lässt? Die 'Zweige' müssen nicht sortiert sein.

Ich nutze Perl 5.5 und kann leider keine CPAN-Module verwenden...

Danke vielmals!
Last edited: 2010-07-27 09:15:47 +0200 (CEST)

View full thread Aufbau einer Baumstruktur aus Hash-Informationen