Ho un database di nodi. Ogni nodo può avere esattamente un genitore, ma un numero qualsiasi di bambini. Alcuni nodi possono essere memorizzati senza genitore, ma in fase di esecuzione, posso creare un nodo "root" predefinito per essere il genitore di questi.
Innanzitutto, come viene chiamata questa struttura dati? Penso che sia solo un "albero", ma voglio essere sicuro di usare la terminologia corretta.
Un altro problema che sto incontrando è trovare un modo efficiente per creare l'albero. I nodi possono essere recuperati dal database in qualsiasi ordine, quindi quando aggiungo un nodo all'albero, il suo genitore potrebbe non essere ancora nella struttura. Ciò significa che quando aggiungo un nodo, devo verificare se i nodi esistenti hanno genitori e quindi aggiungere il genitore nel punto appropriato.
Ho cercato molto online, ma la maggior parte parla di alberi si riferisce semplicemente a "alberi binari" e anche in questo caso non riesco nemmeno a trovare alcun buon esempio di come costruire l'albero nel codice - di solito funziona con un albero esistente albero.
Ci sono esempi di modi efficienti per costruire questo albero (qualunque esso possa essere chiamato)? La lingua non ha importanza, ma userò php.