美文网首页
家族树各节点坐标系坐标

家族树各节点坐标系坐标

作者: 流沙无形 | 来源:发表于2019-05-27 15:29 被阅读0次

    1、排序规则

    1. 配偶男左女右
    2. 孩子从大到小不分男女从左往右排序

    2、位置规则

    1. 父母与中间的孩子在位置上保持竖直方向一致
    2. 孩子总数除以2得到的数数字就是中间的孩子位置索引(如:3个孩子则第1个为中间孩子,因为3/2=1;4个孩子则第2个为中间孩子。另外,孩子的索引从第0开始)


      familytre.jpg

      如图所示,根节点“王根”有3个孩子,他的中间孩子就是第1个(从0开始)“王芸”;而王芸有2个孩子,那么她的中间孩子根据规则也是第1个“王刚”。

    3. 设定根节点的相对坐标为(0,0),那么根据“位置规则1”,根节点的中间孩子“王芸”,以及王芸的中间孩子“王刚”在一条竖直线上,那么”王芸“的坐标就是(0,-1),”王刚”的坐标就是(0,-2),“王刚“没有孩子,则王根、王芸、王刚形成一条竖直基线占据坐标系Y轴的位置。
    4. 基线形成之后,所有比基线上排行靠前的节点在基线左侧,排行靠后的则在基线右侧。基线使用自上而下确定位置,而两侧位置则使用自下而上确定。
    5. 基线左侧数据采用自下而上、自右而左遍历;基线右侧则采用自下而上、自左而右遍历。举个栗子,扩展一下刚才那个图:


      familytre_sort.jpg

      当遍历到“王刚”节点时确定基线所有节点坐标。然后遍历基线左边所有节点,根据自下而上、自右而左的规则,第一个就是“王刚”的哥哥“王俊”,“王俊”没有孩子节点,所以的他的位置就在“王刚”左边一位,也就是(-1,-2),紧接着遍历“王刚”的弟弟节点,自左而右遍历,其坐标就是(1,-2),这一代就结束了,然后往上遍历,就是”王芸“的哥哥”王明“,”王明“有孩子节点,所以第一个就是王明最右侧的孩子王坤,自右而左然后就是王柳、王恩,3个孩子节点位置确定后,才能确定父亲王明的位置,王明在3个孩子的中间位置。基线右侧的也是一样就不举例说明了。

    6. 所以综合以上规则,最终遍历节点的顺序为王根、王芸、王刚、王俊、王菊、王坤、王柳、王璐、王恩、王明、王凤。

    相关文章

      网友评论

          本文标题:家族树各节点坐标系坐标

          本文链接:https://www.haomeiwen.com/subject/tikhtctx.html