Voor een project moet ik de rijen uit een database omzetten naar een boomstructuur. Elke rij bevat een kolom met een referentie naar de parent. Het aantal rijen kan enorm zijn en het moet uiteindelijk gepresenteerd worden in een treeview. Over de diepte van de tree kan ik niets zeggen.
Ik zit zelf te denken aan een binary search tree te denken om de parents op te zoeken. Ik kan ook lineair door de collectie heen lopen maar dat is veel langzamer. Nadeel van binary search is dat het alleen werkt als de unieke sleutel een integer is. Het liefst wil ik ook tekstvelden als primary key ondersteunen. Eventueel zou je een hash kunnen maken van je tekst, maar dan ben je je eventuele performance winst alweer kwijt. Hebben jullie advies? Eventuele hints richting een algoritme?
Ik heb zelf al één van mijn oude schoolboeken uit de kast getrokken, maar die geeft alleen de binary search tree als oplossing. Daar moet toch wel iets handigers voor zijn.
Ik zit zelf te denken aan een binary search tree te denken om de parents op te zoeken. Ik kan ook lineair door de collectie heen lopen maar dat is veel langzamer. Nadeel van binary search is dat het alleen werkt als de unieke sleutel een integer is. Het liefst wil ik ook tekstvelden als primary key ondersteunen. Eventueel zou je een hash kunnen maken van je tekst, maar dan ben je je eventuele performance winst alweer kwijt. Hebben jullie advies? Eventuele hints richting een algoritme?
Ik heb zelf al één van mijn oude schoolboeken uit de kast getrokken, maar die geeft alleen de binary search tree als oplossing. Daar moet toch wel iets handigers voor zijn.
http://hawvie.deviantart.com/