Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 二叉树节点比率计算_C#_Asp.net Mvc_Binary Tree - Fatal编程技术网

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)也有两个子节点。也许可以尝试用树术语(父节点、子节点)重新表述您的问题,并使用更精确的符号来定义“比率”的概念。