你会称它为水平还是深度?

时间:2013-05-07 21:49:43

标签: xml programming-languages naming-conventions terminology

您会选择哪个单词来标记元素的绝对堆栈级别 - 换句话说,它相对于根/文档元素的嵌套程度?

级别深度之间,您会选择哪一个?为什么?什么是常用或首选?如果没有有意义的背景,你会发现哪一个更容易混淆?

我尝试检查XML specification但没有取得多大成功。

9 个答案:

答案 0 :(得分:9)

  

我称之为Depth

众所周知,XML是Node based structure

我们都知道,在数据结构中,我们广泛使用这两个术语。

如果我们谈论二叉树结构,我们通常会说

  

节点位于/位于哪个深度级别?

我们还在DFS(深度优先搜索)和BFS(广度优先搜索)中使用该术语。当我们下来时,我们称之为level depth/down (deep),当我们上去时,我们将其称为level up。因此level代表position at specific point,但depth代表How Deep it is。以下是我想传达的内容的表示

Binary Tree Representation

Level representation

在XML中,如果我们想要找到更深层次(深度)的元素,我们使用descendant。这是什么意思?我们指的是元素的depth level

在AVL二叉树中,通常我们会计算level的{​​{1}},并根据它来旋转树以使其平衡。

换句话说,

节点的 Node 是其根路径的长度(即其根路径),或depth是与任何{{的最大距离} 1}}。

节点的 depth node to root最长路径上的节点数。

Reference from wikipedia

但是如果我们谈论XML结构,术语level最好代表XML节点。所以我选择 node to a leaf

编辑:感谢@Alex的宝贵版本。在他加入之后,我还编辑了一些内容来改进答案。

答案 1 :(得分:7)

对我而言,水平意味着上升,深度意味着下降。

所以我选择深度。

但我已经学会了一条规则:如果你不能在两个选项之间选择,那是因为两个选项都同样好,所以翻转一个硬币继续前进。

答案 2 :(得分:5)

“级别”表示树中具有相同深度的所有节点(分组构造)。 因此,深度是表示从根节点到任何其他节点的相对距离的整数。

所以imho我会选择“深度”作为整数值,所有具有相同“深度”的节点都在一个“级别”。

答案 3 :(得分:2)

我会深入探讨。

显然很多人互换使用水平和深度。但是在我的理解水平上可以指一个元素离根元素有多远,或者与根元素共享相同距离的所有元素。 为了避免这种歧义,我更喜欢深度。

此外,树通常在顶部显示其根元素,如NullVoid所示。由于您可以将XML元素视为具有节点的树,因此我们有另一个参数来支持深度。 最后一个是深度可行,因为XML元素在XML文件中的表示方式; - )

答案 4 :(得分:0)

我可以互换使用。的 _ __

答案 5 :(得分:0)

如果您正在谈论'堆栈',就像数据结构一样,那么深度是首选术语。从XML文档的角度来看,嵌套深度和级别似乎都是常用的。快速谷歌调查显示“xml嵌套级别”和“xml嵌套深度”大约有600000个结果。

我会说选择一个并坚持在同一个环境中。

答案 6 :(得分:0)

树中特定位置的深度,遍历树的级别。 I.e从深度5下降一级。

你级别的深度是多少?

你的深度是多少?

你从深度5到多少级别?

5级你有多少深度?

答案 7 :(得分:0)

水平和高度相同,但深度是从任何节点到根的最大距离......在高度的情况下反向。

答案 8 :(得分:0)

我会选择深度这个词。

XML是基于树的表示,DOM也是如此。

如果我们以树为例:
节点的深度表示该节点与根之间的#of边缘。这是不变的。
另一方面,“水平”是任意的。级别值由我将根节点置于(级别0或级别1)

的级别确定

由于您正在开发编程语言,我试图查看他们实际拥有XML节点的深度属性的位置:
1。 .NET:XMLTextReader具有深度属性。
2。 Javascript:No Inbuilt深度属性。