phpbar.de logo

Mailinglisten-Archive

[php] Passender Allgorithmus zum Baumkinder berechnen?

[php] Passender Allgorithmus zum Baumkinder berechnen?

Juri.Smarschevski php_(at)_phpcenter.de
Mon, 14 May 2001 13:21:52 +0200


> -----Original Message-----
> From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]On Behalf Of
> Marc Linke
> Sent: Monday, May 14, 2001 12:23 PM
> To: php_(at)_phpcenter.de
> Subject: [php] Passender Allgorithmus zum Baumkinder berechnen?
> 
> 
> Hallo,
Hi Marc,

> Der baum sieht, vergleichbar mit einem directory,
> etwa wie folgt aus:
> 
> n     name              id     tiefe   topid
> 
> 1  -+ Vater1            (1)     (0)     (0)
>     |
> 2   +-+ Kind1          (12)     (1)     (1)
>     |
> 3   +-+ Kind2          (13)     (1)     (1)
>     | |
> 4   | +-+ Enkel1       (54)     (2)    (13)
>     | | |
> 5   | | +-+ Urenkel1   (80)     (3)    (54)
>     | |
> 6   | +-+ Enkel2       (55)     (2)    (13)
>     |
> 7   +-+ Kind3          (16)     (1)     (1)
> 
> 8  -+ Vater2            (7)     (0)     (0)
> 
> Bisher sehe ich nur den offensichtlichen ansatz iterativ
> durch das gesamte array zu gehen und dann rekursiv zu
> jedem die kinder suchen und zurueck geben/eintragen.
> Sehr ineffizient, da ich viele zweige des baumes unnoetiger
> weise(?) mehrfach durchlaufe.
> 
> Jemand ein Tipp wie es besser ginge?

Mit diesem Baum-Struktur geht's wohl nicht besser.
Du koenntest rein theoretisch versuchen von "unten" anzufangen, 
ebene pro ebene, und schon fertige Child-Ergebnisse sollen 
beim Erfassen eines Nodes beruecksichtigt werden.
Die gesamte Loesung bleibt IMHO trotzdem ineffizient.
Schau lieber 
http://www.koehntopp.de/kris/artikel/sql-self-references/
an.

Gruss,
Juri



php::bar PHP Wiki   -   Listenarchive