Assume A, B, C are the item names. What's the use of T1, T2? Which one will be which one's child node? class Node {
  public String name;
  int count = 1;
  Node child = null; // or Vector children = new Vector()?
}

解决方案 »

  1.   

    谢谢各位的答复,我再将问题明确一下。输入的是一个关系表TRANSACT,它由TID和ITEM。例如:
    T1  A                                     A:2
    T1  B                                     |
    T1  C            -----------              B:2
    T2  A                                     |---|
    T2  B                                     C:1 D:1
    T2  D                                         |
    T2  E                                         E:1
    输出为一个树结构TREE。根节点为NULL,其他节点由(ITEMNAME,COUNT,CHILDREN POINTERS)组成。算法如下:通过扫描TRANSACT,对於每一个TRANSACT,可以表示成(p|P)其中p为第一个ITEM,P为其他ITEM。执行节点插入INSERT([p|P]:T)。过程如下:IF T有一个子节点N,
    N.ITEMNAME=p.ITEMNAME, THEN N.COUNT++; ELSE 建立一个新节点N,N.COUNT=1,将它添加到父节点的CHILDREN POINTERS中。直到P为空。得到的TREE如上图所示。