你会选择哪个词来标记一个元素的绝对堆栈级别——换句话说,它相对于根/文档元素的嵌套程度?
在水平和深度之间,您会选择哪一个,为什么?什么是常用的或首选的?在没有有意义的上下文的情况下,您会发现哪一个不那么令人困惑?
我尝试检查XML 规范,但没有取得多大成功。
你会选择哪个词来标记一个元素的绝对堆栈级别——换句话说,它相对于根/文档元素的嵌套程度?
在水平和深度之间,您会选择哪一个,为什么?什么是常用的或首选的?在没有有意义的上下文的情况下,您会发现哪一个不那么令人困惑?
我尝试检查XML 规范,但没有取得多大成功。
我称之为
Depth
。
众所周知,XML 是一个Node based structure
.
我们都知道,在数据结构中,我们广泛使用这两个术语。
如果我们谈论二叉树结构,我们通常会说
节点位于/位于哪个深度级别?
我们也在 DFS(深度优先搜索)和 BFS(广度优先搜索)中使用这个术语。当我们下降时,我们称之为它level depth/down (deep)
,当我们上升时,我们称之为它level up
。所以level
代表position at specific point
但depth
代表How Deep it is
。以下是我想传达的内容
在 XML 中,如果我们想找出更深层次(深度)的元素,我们使用descendant
. 这是什么意思?我们指的depth level
是元素的。
在 AVL 二叉树中,通常我们计算level
a的值Node
,并根据它旋转树以使其平衡。
换句话说,
一个节点的depth
是到它的根的路径的长度(即它的根路径)或者depth
是到任何 的最大距离node to root
。
level
节点的 是从 开始的最长路径上的节点数node to a leaf
。
但如果我们谈论 XML 结构,该术语Depth
最好代表 XML 节点。所以我选择Depth
。
编辑:感谢@Alex 的宝贵版本。在他添加之后,我还编辑了一些东西来改进答案。
对我来说,水平意味着上升,深度意味着下降。
所以我会选择深度。
但我学到了一条规则:如果你不能在两个选项之间做出选择,那是因为两个选项都一样好,所以掷硬币继续前进。
A "level" represents all nodes that have the same depth within a tree (a grouping construct). The depth is therefore the integer representing the relative distance from the root node to any other node.
So imho I would go for "depth" as the integral value, and all nodes with the same "depth" are on one "level".
我会深入。
显然很多人交替使用水平和深度。但在我的理解水平上,可以指一个元素与根元素的距离,或与与根元素具有相同距离的所有元素。为了避免这种歧义,我更喜欢深度。
此外,树通常在顶部显示其根元素,如 NullVoid 所示。由于您可以将 XML 元素视为具有节点的树,因此我们还有另一个参数来支持深度。最后一个是深度工作,因为 XML 元素在 XML 文件中的表示方式;-)
我会选择深度这个词。
XML 是基于树的表示,DOM 也是。
如果我们以树为例:
节点的深度表示该节点和根之间的 #of 边。这是不变的。
另一方面,“级别”是任意的。级别值取决于我将根节点放置在哪个级别(级别 0 或级别 1)
由于您正在开发一种编程语言,因此我尝试查看它们实际上具有 XML 节点的深度属性的地方:
1. .NET:XMLTextReader具有深度属性。
2. Javascript:没有内置深度属性。
水平和高度相同,但深度是从任何节点到根的最大距离......并且在高度的情况下相反。
我可以互换使用两者。_ __
如果您在谈论“堆栈”,例如在数据结构中,那么深度是首选术语。从 XML 文档的角度来看,嵌套深度和级别似乎都是常用的。一项快速的谷歌调查显示了大约 600000 个“xml 嵌套级别”和“xml 嵌套深度”的结果。
我会说选择一个并在相同的上下文中始终如一地坚持下去。
树中特定位置的深度,遍历树的级别。即从深度 5 往下一层。
你的关卡深度是多少?
你的深度是什么水平?
你从深度 5 到了多少级?
你离5级有多少深度?