1012Close
NilOn the 2017-03-31 at 04:14pm
En fait, je fais le "monArbre.find" de façon récursive tout au long de mon processus (je ne peux pas faire le .find sans retraverser complètement l'arbre depuis le début, ce qui n'est pas du tout optimal).

Voilà ce que j'ai, de mon côté :

monArbre = vide
quiEstMonPere = vide
maListeIssueDeSQL

pour chaque élément de ma liste
	quiEstMonPere[idFiston] = idPapa
	maListeParID[idFiston] = mon élément en cours
	monArbre = construireArbre(quiEstMonPere, idAncetre, maListeParId)

---

fonction construireArbre(quiEstMonPere, idAncetre, maListeParId)
	monArbrePartiel = vide
	pour chaque élément de quiEstMonPere (idPapa, idFiston)
		quiEstMonPere[idFiston].supprime
		si idPapa = idAncetre
			monArbrePartiel[idPapa][donnees] = maListeParId(idPapa)
			monArbrePartiel[idPapa][enfants] = construireArbre(quiEstMonPere, idPapa, maListeParId)
	retourner monArbrePartiel