【发布时间】:2011-03-09 13:39:34
【问题描述】:
我有以下结构:
配置 |-- 团体 |-- 根组 |-- group1(包括根组) |-- 组2(包括组1) |-- group3(包括根组) |-- 用户 |-- Fred(包括 group3 和 group2)所以 Fred 的继承树如下所示:
_弗雷德_ v v 组 2 组 3 v v 组 1 v v / 根组我需要一个算法来打印从树的左下角开始的线性配置读取顺序(例如,它将是 rootgroup - group1 - group2 - group3;group1 覆盖 rootgroup,group2 覆盖 group1,等等...)并找到递归链接(例如,如果 rootgroup 包含组 2),而且它必须找到递归循环(... -> group2 -> group1 -> rootgroup -> group2 -> ...)。
首选语言是 python,但任何都可以。
谢谢。
【问题讨论】:
-
你现在如何存储关系?它现在是具有 obj-per-line 和制表深度的文本,表示“子”关系,还是您有一些基于类/对象的关系存储?你现在呈现源结构的方式(|-- group1(包括rootgroup))不利于解析。
-
对不起,目前是文件结构。每个组都是一个目录,其中包含一个文件,其中每行列出一个当前组依赖项。
标签: python inheritance recursion