![]() |
1
3
我会认为 Observer Pattern 可能会被改编。
我们的想法是
这可以通过两种不同的方式实现:
我建议和你一起去
让我们举例说明解决方案1:
现在,首先,如果我要求的话,他们中没有人预先计算过任何东西(所有人都处于肮脏的状态)。
如果我随后要求
注意
在更新案例中:
注意,因为我缓存了
希望它能让你前进。 |
![]() |
2
1
您的预计算版本似乎存储了与每个节点上的每个角色相关的所有权限。您可以通过遍历树、在到达节点时对其编号,并为每个角色生成一个节点编号数组和权限更改(仅针对与该角色相关的权限更改的节点),从而节省一些时间和空间。这只产生输入树大小的线性输出(包括注释)。然后,当您来检查节点上角色的权限时,使用该节点的编号搜索数组,以查找数组中表示在巡更期间访问该节点时权限最新更改的点。 这可能在某种程度上与 http://en.wikipedia.org/wiki/Range_Minimum_Query 和 http://en.wikipedia.org/wiki/Lowest_common_ancestor 但是我不知道这些推荐信是否有帮助。 |
|
bb ef · 如何使用递归从列表中删除某些内容?python 7 年前 |
![]() |
Adam Morad · 方案更改树值 7 年前 |
![]() |
johnny 5 · 角度将ViewChild绑定到类中的属性 7 年前 |
![]() |
user2467011 · 为什么给定的二叉树是用空节点构造的? 7 年前 |