树的定义怎么定呢?

解决方案 »

  1.   

    不晓得
    如果是练习数据结构的话就自己定义啦
    二叉树的节点是3个域的结构:
    struct 节点{
    节点*  左孩子;
    节点*  右孩子;
    随便什么类型  节点数据;
    };
    然后自己去管理指针吧。
    别乱指哦~~
      

  2.   

    UP
    你说的是MFC里的树还是数据结构里的树?
    MFC里用CTreeCtrl或在CTreeView里GetTreeCtrl()就可以了?
    不知道你说的是那个?
      

  3.   

    哦,你是问概念啊~
    树的概念:
    1992  严蔚敏 吴伟民 《数据结构》(第二版)
    P118
    ……
    树是一种数据结构
    Tree = (D,R)
    其中:D是具有相同特性的数据元素的集合;若D只含一个数据元素,则R为空集,否则R是D上的某个二元关系H的集合,即R = {H}。H为如下描述的二元关系:
    (1) 在D中存在唯一的称为根的数据元素root,它在关系H下无前驱;
    (2) 若D-{root} ≠ Φ,则存在D-{root}的一个划分D1,D2,…,Dm(m>0),对任意一对j≠k(1≤j,k≤m)有Dj∩Dk=Φ,且对任意的i(1≤i≤m),唯一存在数据元素xi∈Di,有<root,xi>∈H;
    (3) 对应于D-{root}的划分,H-{<root,x1>,…,<root,xm>}有唯一的一个划分H1,H2,…,Hm(m>0),对任意一对j≠k(1≤j,k≤m)有,Hj∩Hk=Φ,且对任意的i(1≤i≤m),Hi是Di上的二元关系,(Di,{Hi})是一棵符合本定义的树,称为根root的子树。
      

  4.   

    二叉树可以这样定义
    struct  pNode
    {
        pNode* leftChild;
        pNode* rightChild;
        ......// 定义数据成员
    }