【发布时间】:2009-12-23 06:18:47
【问题描述】:
我正在阅读以下文章,http://articles.sitepoint.com/article/hierarchical-data-database/2,关于“在数据库中存储分层数据”。
这是在谈论这些结构。 http://sitepointstatic.com/graphics/sitepoint_numbering.gif 和 http://sitepointstatic.com/graphics/table02.gif
我不明白下面的段落。这些是什么意思。
“每次你从一个节点的子节点开始,你就将该节点的正确值添加到堆栈中。”
和
“当你显示完一个节点后,你从堆栈中移除它的正确值。如果你计算堆栈中的元素,你将得到当前节点的级别。”
如果可能的话,我希望有人以更简单的方式解释这些。
为了显示树结构,孩子们 缩进应该比 他们的父母。我们可以通过 保持一堆正确的价值观。每个 时间你从一个孩子开始 节点,您添加正确的值 节点到堆栈。你知道这一切 该节点的子节点有权 小于正确的值 父母的价值,所以通过比较 当前节点的正确值 堆栈中的最后一个右节点, 你可以看看你是否还在显示 那个父母的孩子。什么时候 你已经完成了一个节点的显示,你 从堆栈中删除它的正确值。 如果你计算元素中的 堆栈,你会得到的水平 当前节点。
【问题讨论】:
-
那篇文章中没有提到“嵌套集”这个短语,这很遗憾,因为这就是它所描述的方法。如果您尝试在谷歌上搜索“嵌套集”,您会发现更多关于它的信息。
-
具体有什么不明白的?你知道什么是“堆栈”吗?如果你用“list”代替“stack”这个词,现在对你有意义吗?
-
“你将那个节点的正确值添加到堆栈中”如果我选择“红色”,即 (3, 6)。我在哪里添加 6?