Terminologia della posizione dell'albero / denominazione [chiusa]

0

Questa è una domanda denominazione delle cose . Sto elaborando alberi (documenti XML) e spesso ci sono regole speciali applicate ai nodi in base alla struttura. È stato molto difficile trovare convenzioni di denominazione concise per alcuni casi, vale a dire per i nodi nella prima posizione tra i loro fratelli, insieme ad alcune relazioni ricorsive:

  1. Dato un nodo arbitrario, voglio descrivere il suo primo figlio, e quindi il primo figlio del nodo, e così via ricorsivamente.

  2. Dato un altro nodo arbitrario, voglio descriverne il genitore se il genitore è il primo tra i suoi fratelli e quello genitore del genitore se è il primo, e così via ricorsivamente.

Esiste una terminologia esistente per descrivere queste posizioni dell'albero? Come chiameresti una variabile o una funzione che cattura uno di questi casi in modo che sia intuitivo per uno sviluppatore sconosciuto provare a capire un algoritmo?

    
posta wst 31.10.2013 - 21:38
fonte

1 risposta

5

Mi piace usare la parola Primary in situazioni in cui la parola First non è proprio corretta, ma è chiusa. Indica che è speciale in qualche modo, senza in realtà dipendere da una enumerazione ordinata. First implica un Second , Third e così via, ma Primary potrebbe essere accoppiato con everything else o Secondary , Tertiary , e solo allora everything else .

Given an arbitrary node, I want to describe its first child, and then that node's first child, and so on recursively.

Chiamerei questo PrimaryDescendant . Dopo tutto, se si enumera ogni discendente finale di un dato nodo, nell'ordine, è quello che sarà il primo. Se ti riferisci allo stato "primo figlio" da solo, sarebbe solo FirstChild .

Given another arbitrary node, I want to describe its parent if the parent is first among its siblings, and that parent's parent if it's first, and so on recursively.

Questo è più difficile, ma probabilmente cercherò di essere coerente e chiamarlo PrimaryAncestor .

    
risposta data 31.10.2013 - 21:56
fonte

Leggi altre domande sui tag