7

Quale parola sceglieresti per etichettare il livello di stack assoluto di un elemento, in altre parole il suo grado di nidificazione relativo all'elemento radice/documento?Vuoi chiamarlo livello o profondità?

Tra livello e profondità quale sceglieresti e perché? Cosa viene comunemente usato o preferito? Quale troveresti meno confusionario in assenza di un contesto significativo?

Ho provato a verificare il XML specification senza molto successo.

+0

Per l'utente che propone di chiudere questo, il termine verrà utilizzato per una proprietà di sola lettura in un ** linguaggio di programmazione ** simile al CSS. È abbastanza ovvio per me che è in discussione qui e che potrei trovare qualcuno che ha scritto un libro su XML o qualcosa del genere. – Knu

+0

+1 per un argomento interessante che generalmente non prestiamo molta attenzione mentre lo stiamo usando. Lo usiamo semplicemente. – NullPointer

risposta

0

Io uso entrambi in modo intercambiabile. _ __

0

Se stai parlando in termini di una 'pila', come nella struttura di dati, quindi la profondità è il termine preferito. Dal punto di vista di un documento XML, sia la profondità che il livello di annidamento sembrano essere nell'uso comune. Un rapido sondaggio su google mostra circa 600000 risultati per "livello di nidificazione xml" e "profondità di nidificazione xml".

Direi sceglierne uno e seguirlo costantemente nello stesso contesto.

7

Per me livello significa salire e profondità significa scendere.

Quindi sceglierei la profondità.

Ma ho imparato una regola: se non è possibile scegliere tra due opzioni è perché entrambe le opzioni sono ugualmente buone, quindi lanciare una moneta e andare avanti.

+0

Per approfondire ulteriormente la tua idea, abbiamo un albero e una radice, quindi il livello sembrerebbe più appropriato poiché implicherebbe che stiamo salendo l'albero. – Knu

+5

Sarei ancora andare con profondità. È comune in CS fare un *** *** di profondità - prima traversata di un albero. Nessuno si riferisce mai ai livelli degli alberi. –

+0

+1 per spiegazione molto bella e +1 a @OldPro – NullPointer

9

Lo chiamo Depth.

Come sappiamo, XML è un Node based structure.

Sappiamo tutti che in Data Structures utilizziamo entrambi i termini ampiamente.

Se parliamo di una struttura ad albero binario in genere dicono

In quale livello di profondità di un nodo si trova/trova?

Usiamo questo termine anche in DFS (Depth First Search) e BFS (Larghezza prima ricerca). Quando scendiamo lo chiamiamo level depth/down (deep) e quando saliamo lo chiamiamo level up. Quindi level rappresenta position at specific point ma depth rappresenta How Deep it is. Qui di seguito è una rappresentazione di quello che vorrei trasmettere

Binary Tree Representation

Level representation

In XML, se vogliamo scoprire gli elementi che sono a un livello più profondo (profondità) che usiamo descendant. Cosa significa? Ci riferiamo allo depth level dell'elemento.

Nell'albero binario di AVL, in genere, contiamo lo level di un Node e in base a tale rotazione ruotiamo l'albero per renderlo equilibrato.

In altre parole,

Il depth di un nodo è la lunghezza del percorso fino alla radice (cioè, il suo percorso root) o depth IS La massima distanza da qualsiasi node to root.

Il level di un nodo è il numero di nodi sul percorso più lungo della node to a leaf.

Reference from wikipedia

Ma se parliamo di Struttura XML, il termine Depth è meglio per rappresentare nodi XML. Così ho scelto Depth.

Modifica: Grazie a @Alex per la sua preziosa edizione. Dopo la sua aggiunta ho anche modificato alcune cose per migliorare la risposta.

+1

+1 per la lunga risposta ma sembra che l'inglese non sia la tua lingua madre. – Knu

+0

:) Che dire della spiegazione? Ha senso per la tua domanda? – NullPointer

+0

Conferma una sensazione che ho avuto che è legato a questa domanda: questi termini non sono equivalenti. Aiuta ma non penso che otterrai la munificenza a meno che qualcuno non migliori la tua risposta. – Knu

2

Vorrei andare con profondità.

Apparentemente molte persone usano il livello e la profondità in modo intercambiabile. Ma a mio avviso il livello può riferirsi a quanto lontano dall'elemento radice è un elemento o a tutti gli elementi che condividono la stessa distanza dall'elemento radice. Per evitare questa ambiguità preferirei la profondità.

Inoltre, gli alberi vengono solitamente presentati con il loro elemento radice in alto, come mostrato da NullVoid. Poiché puoi trattare gli elementi XML come un albero con nodi, abbiamo un altro argomento per supportare la profondità. Un ultimo sarebbe la profondità, a causa del modo in cui gli elementi XML sono rappresentati in un file XML ;-)

5

Un "livello" rappresenta tutti i nodi che hanno la stessa profondità all'interno di un albero (un costrutto di raggruppamento). La profondità è quindi il numero intero che rappresenta la distanza relativa dal nodo radice a qualsiasi altro nodo.

Quindi, per quanto mi riguarda, preferisco definire "profondità" come valore integrale e tutti i nodi con la stessa "profondità" si trovano su un "livello".

+0

Questa è la risposta più chiara in questo momento. – Knu

+0

+1 ha brevemente spiegato il concetto di base. Pollice su :) – NullPointer

0

Profondità per una posizione specifica nell'albero, livello per attraversare l'albero. I.e Scendi di un livello dalla profondità 5.

Qual è la profondità del tuo livello?

Qual è il livello della profondità?

Quanti livelli dalla profondità 5 sei?

Quante profondità dal livello 5 sei?

0

il livello e l'altezza sono uguali ma la profondità è la massima distanza da qualsiasi nodo alla radice ... e al contrario in caso di altezza.

0

Vorrei andare con il termine profondità.

XML è una rappresentazione basata su albero e lo è anche DOM.

Se prendiamo un albero come esempio:
La profondità di un nodo indica il numero di margini tra quel nodo e la radice. Questo è invariante.
D'altro canto "livello" è arbitrario. I valori di livello sono determinati da quale livello I pone il nodo radice a (livello 0 o livello 1)

Poiché si sta sviluppando un linguaggio di programmazione, ho provato a cercare i punti in cui hanno effettivamente una proprietà di profondità per i nodi XML:
1. .NET: XMLTextReader ha proprietà depth.
2. Javascript: No Inbuilt profondità proprietà.

Problemi correlati