Würden Sie es Stufe oder Tiefe nennen?

7

Welches Wort würden Sie wählen, um den absoluten Stack-Level eines Elements zu kennzeichnen - mit anderen Worten, den Grad der Verschachtelung relativ zum Root / Document-Element?

Zwischen level und depth welche würden Sie wählen und warum? Was wird häufig verwendet oder bevorzugt? Welchen würden Sie in Ermangelung eines sinnvollen Zusammenhangs weniger verwirrend finden?

Ich habe versucht, die XML-Spezifikation ohne viel Erfolg zu überprüfen.

    
Knu 07.05.2013, 21:49
quelle

9 Antworten

9
  

Ich nenne es Depth .

Wie wir wissen, ist XML ein Node based structure .

Wir alle wissen, dass wir in Data Structures beide Begriffe weit verwenden.

Wenn wir über eine Binary-Tree-Struktur sprechen, sagen wir generell

  

In welcher Tiefe befindet sich ein Knoten?

Wir verwenden diesen Begriff auch in DFS (Depth First Search) und BFS (Breathth First Search). Wenn wir runtergehen, nennen wir es level depth/down (deep) und wenn wir nach oben gehen, nennen wir es level up . So steht level für position at specific point , aber depth steht für How Deep it is . Im Folgenden finden Sie eine Darstellung dessen, was ich vermitteln möchte

Wenn wir in XML nach Elementen suchen, die auf einer tieferen Ebene (Tiefe) liegen, verwenden wir descendant . Was bedeutet das? Wir beziehen uns auf depth level des Elements.

In AVL Binary Tree zählen wir im Allgemeinen den level eines Node und basierend darauf drehen wir den Baum, um ihn auszugleichen.

Mit anderen Worten

Der depth eines Knotens ist die Länge des Pfads zu seinem Stamm (dh der Stammpfad) oder depth ist der maximale Abstand von node to root .

Der level eines Knotens ist die Anzahl der Knoten auf dem längsten Pfad von node to a leaf .

Referenz aus Wikipedia

Aber wenn wir über XML-Struktur sprechen, ist der Begriff Depth am besten, um XML-Knoten darzustellen. Also wähle ich Depth .

Edit: Danke an @Alex für seine wertvolle Ausgabe. Nach seiner Ergänzung habe ich auch einige Dinge bearbeitet, um die Antwort zu verbessern.

    
NullPointer 12.05.2013 04:31
quelle
7

Für mich bedeutet "level up", und "depth" bedeutet "down".

Also würde ich Tiefe wählen.

Aber ich habe eine Regel gelernt: Wenn Sie nicht zwischen zwei Optionen wählen können, ist es, weil beide Optionen gleich gut sind, also werfen Sie eine Münze und gehen Sie weiter.

    
Ariel 10.05.2013 08:01
quelle
5

Ein "Level" repräsentiert alle Knoten, die innerhalb eines Baumes dieselbe Tiefe haben (ein Gruppierungskonstrukt). Die Tiefe ist daher die ganze Zahl, die den relativen Abstand vom Wurzelknoten zu einem anderen Knoten darstellt.

Also imho würde ich für "Tiefe" als Integralwert gehen, und alle Knoten mit der gleichen "Tiefe" sind auf einer "Ebene".

    
Philip Helger 16.05.2013 13:57
quelle
2

Ich würde mit der Tiefe gehen.

Offensichtlich verwenden viele Leute Niveau und Tiefe austauschbar. In meinem Verständnis kann sich Level darauf beziehen, wie weit entfernt von dem Wurzelelement ein Element ist oder zu allen Elementen, die den gleichen Abstand zum Wurzelelement haben. Um diese Mehrdeutigkeit zu vermeiden, würde ich Tiefe bevorzugen.

Außerdem werden Bäume normalerweise mit ihrem Wurzelelement oben dargestellt, wie NullVoid gezeigt hat. Da Sie XML-Elemente als Baum mit Knoten behandeln können, haben wir ein anderes Argument, um die Tiefe zu unterstützen. Eine letzte wäre, dass Tiefe funktioniert, weil XML-Elemente in einer XML-Datei dargestellt werden ;-)

    
red_rain 16.05.2013 10:49
quelle
0

Ich benutze beide austauschbar. _ __

    
Michael Kay 07.05.2013 22:03
quelle
0

Wenn Sie von einem 'Stack' sprechen, wie in der Datenstruktur, dann ist die Tiefe der bevorzugte Ausdruck. Aus der Perspektive eines XML-Dokuments scheinen sowohl die Schachtelungstiefe als auch die Schachtelungsebene gebräuchlich zu sein. Eine schnelle Google Umfrage zeigt ungefähr 600000 Ergebnisse für 'xml nesting level' und 'xml nesting depth'.

Ich würde sagen, wählen Sie eine und bleiben Sie dabei konsequent im selben Kontext.

    
EmeraldD. 07.05.2013 22:14
quelle
0

Tiefe für eine bestimmte Position im Baum, Ebene zum Durchfahren des Baumes. Ie. Gehen Sie eine Ebene von Tiefe 5 nach unten.

Was ist die Tiefe deines Levels?

Wie hoch ist Ihre Tiefe?

Wie viele Stufen von der Tiefe 5 sind Sie?

Wie viele Tiefen von Level 5 bist du?

    
user1311286 16.05.2013 14:01
quelle
0

level und height sind gleich, aber depth ist der maximale Abstand von einem Knoten zum root ... und umgekehrt im Fall von height.

    
imran001 16.05.2013 18:31
quelle
0

Ich würde mit dem Begriff Tiefe gehen.

XML ist eine baumbasierte Repräsentation und somit auch DOM.

Wenn wir einen Baum als Beispiel nehmen:
Tiefe eines Knotens bezeichnet die Anzahl der Kanten zwischen diesem Knoten und dem Stamm. Dies ist invariant.
Auf der anderen Seite ist "level" beliebig. Level-Werte werden bestimmt durch welche Ebene ich den Root-Knoten auf (Level 0 oder Level 1) platzieren

Da Sie eine Programmiersprache entwickeln, habe ich versucht, nach Stellen zu suchen, an denen sie tatsächlich eine Depth-Eigenschaft für XML-Knoten haben:
1. .NET: XMLTextReader verfügt über eine Tiefeneigenschaft.
2. Javascript: Keine eingebaute Tiefeneigenschaft.

    
cvraman 16.05.2013 20:09
quelle