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()?
}
public String name;
int count = 1;
Node child = null; // or Vector children = new Vector()?
}
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如上图所示。