【发布时间】:2021-05-28 19:55:35
【问题描述】:
在实现像 TREE 这样的递归数据结构时,我需要每个 TREE 都有一个公共属性,我想知道如何实现它:
- 将属性添加到树节点,复制每个节点的属性,而不是每个树一次
- 使用
once属性,我只获得所有棵树的一个共享属性,而不是每棵树一个。
有什么优雅的埃菲尔风格的解决方案吗?
【问题讨论】:
-
这取决于树结构。例如,是否有可能从树的任何其他节点到达根节点?如果是,则根节点可以是具有所需属性的特殊节点,所有其他节点都可以在需要时通过访问根节点来检索该属性值。
-
在一般树中您无法到达根节点,但在一种实现中您实际上可以。那么当根节点可以从任何节点访问时(可能通过名为
parent的属性),您能否草拟一个部分答案。
标签: recursion data-structures attributes eiffel