Voor een klant ben ik momenteel bezig met een project en ik zit een beetje vast. Ik krijg data aangeleverd in de vorm van een boomstructuur alla:

Om het simpel te houden, elk item in de boom heeft een naam, id en mogelijk één of meerdere referenties naar een ander item. Nu wil ik de gehele boomstructuur en de data kopieren in een nieuwe boom. Maar elk item krijgt als je hem kopieert een nieuw ID. In de nieuwe boom moeten de referenties dus aangepast worden naar de juiste id's.
Nu kan ik wel recursief lopen door de boom om zo een lijstje te generen van alle items in de boom. Maar bijvoorbeeld doordat er een 'lus' in de boom zit (van project kan je bij koffiejuffrouw uitkomen welke weer naar project verwijst) zit ik vast.
Koffiejuffrouw kan pas een verwijzing bevatten naar project als project gemaakt is, maar deze kan pas gemaakt worden als koffiejuffrouw gemaakt is bijvoorbeeld.
Hoe los ik dit op. Ik hoop dat mijn vraagstelling een beetje duidelijk is.

Om het simpel te houden, elk item in de boom heeft een naam, id en mogelijk één of meerdere referenties naar een ander item. Nu wil ik de gehele boomstructuur en de data kopieren in een nieuwe boom. Maar elk item krijgt als je hem kopieert een nieuw ID. In de nieuwe boom moeten de referenties dus aangepast worden naar de juiste id's.
Nu kan ik wel recursief lopen door de boom om zo een lijstje te generen van alle items in de boom. Maar bijvoorbeeld doordat er een 'lus' in de boom zit (van project kan je bij koffiejuffrouw uitkomen welke weer naar project verwijst) zit ik vast.
Koffiejuffrouw kan pas een verwijzing bevatten naar project als project gemaakt is, maar deze kan pas gemaakt worden als koffiejuffrouw gemaakt is bijvoorbeeld.
Hoe los ik dit op. Ik hoop dat mijn vraagstelling een beetje duidelijk is.
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF