C# 二叉树节点比率计算
我有一个二叉树格式的用户层次结构(因为一个用户最多可以添加两个用户)。下面是一个示例结构 问题C# 二叉树节点比率计算,c#,asp.net-mvc,binary-tree,C#,Asp.net Mvc,Binary Tree,我有一个二叉树格式的用户层次结构(因为一个用户最多可以添加两个用户)。下面是一个示例结构 问题 每周我必须计算在登录用户下以2:1或1:2的比例添加了多少用户进行付款2:1比率(以红色突出显示)表示用户A添加的用户B1和用户B2,以及用户B1添加的用户C1。类似地,在1:2比率中(以黄色突出显示),User B2具有User D1和D2,但只有User D1具有User E1和E2,因此它满足1:2比率 所以,若增加了更多的用户,那个么我们就必须在第一周跳过已经按照上述比例计算的用户。在计算本
2:1
或1:2
的比例添加了多少用户进行付款<代码>2:1比率(以红色突出显示)表示用户A
添加的用户B1
和用户B2
,以及用户B1
添加的用户C1
。类似地,在1:2
比率中(以黄色突出显示),User B2
具有User D1和D2
,但只有User D1
具有User E1和E2
,因此它满足1:2
比率2:1或1:2
,每个会员可以推荐2名直接会员
在用户表中,我将
UserId
作为标识,将ParentId
列作为自引用,以跟踪成员的父级。如果需要,我准备更改我的表结构。因此。。。你有什么特别的问题吗,或者你只是想把你的工作推给我们?实际上我不知道如何解决这个比例问题,我已经试了两周了,但没有成功。我也咨询了我的朋友,但没有运气…我不确定我是否遵循了你的逻辑。你是说B节点(B1和B2)与C节点(C1)之间存在2:1的关系吗?如果是这样的话,那么是否存在D节点与E节点的2:2关系以及C节点与F节点的1:1关系?事实上,唯一的1:2关系似乎是A节点对B节点。@juharr:你的看法是错误的,逻辑是如果我提到A&B,如果A或B提到任何一个成员(例如C),那么我将得到付款。所以这里2:1(A,B:C)的比例适用。我希望它是清楚的。你说有1:2的比例,因为B2有2个子节点,其中只有一个还有2个子节点。那么,为什么一个国家有2:1的比例呢?A的第二个子节点(B2)也有两个子节点。也许可以尝试用树术语(父节点、子节点)重新表述您的问题,并使用更精确的符号来定义“比率”的概念。