因为要实现注册会员的层层关系,所以想用二叉树,可实在没有头绪,图如下:        会员1
          |
    --------------
   |              |
--------     -----------
|       |    |          |
会员2   3    4          5
                        |
                    ——————
                   |            |
                会员6         会员7
我想的数据库中应该存放 “左节点”,“右节点”  然后用递归来实现。可无从下手,请高手指教。谢谢,小弟跪求~~~  马上给分。

解决方案 »

  1.   

    id 自增
    parentid 父节点
    name 会员名就可以了吧
      

  2.   

    我想的数据库中应该存放 “左节点”,“右节点”  脑袋进水了不过可以用xml保存这种结构
      

  3.   

    TO myminimouse() 
    ---------------------------------------
    如果只有父节点的话,那就是线性的了,是一串数据,而不是二叉树
    TO liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)
    -----------------------------------------------------------
    数据结构上的遍历二查树的算法是需要有左节点(LNode),右节点(RNode),好象还需要有....不记得了.有人会做这种算法么?  急用哦
      

  4.   

    to haobojunsun(ASPX蜗牛) 如果只有父节点的话,那就是线性的了,是一串数据,而不是二叉树怎么会是线性的呢,不可能用二叉数,难到你的会员下面只能又两个直接子会员么
      

  5.   

    TO Robert_Wang1983(萝卜) 
    -------------------------------------
    是的。每一个注册的会员只能有两个直接孩子会员,每一个孩子会员也只能有两个直接会员.
      

  6.   

    To wang520d(Q)
    ---------------------------
    还是你厉害,一看就知道. 就是双轨.这种东西要怎么实现啊?
      

  7.   

    输出图形 你可以做个TABLE 固定显示几层 用数据表的父子节点做链接
      

  8.   

    TO wang520d(Q) 
    ------------------------------------
    插入好说,关键是查询该人有多少下线时比较难了。再就是怎么样输出这个图表啊?
      

  9.   

    To wang520d(Q) 
    ______________________你有点具体的小例子么?  建立这个结构,和插入数据我都可以,都比较简单。后面的操作太难了,你有做好的小例子给我看看吧。
      

  10.   

    TO wang520d(Q)
    ----------------------------
    难过死了。大哥帮帮小弟吧。 实在感觉难啊。 单单一个统计下线人数,我就不会哭
      

  11.   

    To wang520d(Q)
    -------------------------
    不愧是前辈,就是的
      

  12.   

    你查下线人数什么的 到这个 贴看 http://community.csdn.net/Expert/topic/4951/4951418.xml?temp=.9870722
      

  13.   

    数据库设计的时候,要有Hynumber,ParentNumber,rightnumber和leftnumber。
    注册的时候填写ParentNumber,左右区,确认的时候给会员写入。
    递归的时候要有两个函数,左边的递归和右边的递归。然后两边相加
      

  14.   

    N ! 自己实现是很麻烦,为什么不用系统中现成的能?在我的印象中Dictionary<,>就是用二叉树的方式实现的,何不用之!其操作也简单,查询也方便……望lz参考 
      

  15.   

    数据库可以这样:
    id 自增
    parentid int default -1 null
    ordernumber int default -1 null
    other columns ..........id 是一个节点的主标识
    parentid 表示其父节点的标识,如果为null或-1表示为根节点
    ordernumber 是本节点中在其兄弟节点中的位置,如1表示左节点,2表示右节点,如果是根节点的话,忽略这个字段信息找根节点:
    Select * form TableName Where parentid = -1 or parentid is null找子节点:
    Select * from TableName Where parentid = XXXX Order By ordernumber DESC找父节点:
    Select * from TableName Where id = parentid
    有了这些操作再通过递归遍历应该是很容易的事了