10Fermer12
NilLe 31/03/2017 à 16:14
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