无圈有向图计算的问题?

溜金哇开呀酷裂 2017-10-13 10:48:13

如图所示,我最近做的一个授权业务.抽象后就是图片中的有向图. A,B,C等表示人.A->B 表示 A给B授权.A->B旁边的字符串1_10 表示A给B分配的权限时间是从1号开始到10号结束. B旁边方框中字符串表示B实际拥有某项权限的起止时间.整副图只表示一项权限的授权过程.(一项权限对应一副图)

业务要求是授权路径不能形成闭环,就是说A给B授权,B就不能给A授权. 所以这个图不会形成圈.现在我要让A取消B的授权.通过递归,我能删除A->B,并且判断还要不要继续往下删除(比如要不要删除B->D,因为有C->B,所以就不需要继续往下删除).删除A->B后,同时纠正B拥有该权限的起止时间.(通过判断有没有指向B的路径可以计算出来)但是从B开始的之后的路径上数据,有点不好做了.删除A->B后,B的起止时间就是2_11.正常情况 B->D分配的权限时间应该也要改成2_5. 不知道有什么好的办法吗
...全文
399 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧