Package elki.itemsetmining
Class FPGrowth.FPNode
- java.lang.Object
-
- elki.itemsetmining.FPGrowth.FPNode
-
- Direct Known Subclasses:
FPGrowth.FPTree
- Enclosing class:
- FPGrowth
public static class FPGrowth.FPNode extends java.lang.ObjectA single node of the FP tree.- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceFPGrowth.FPNode.TranslatorTranslator class for tree printing.
-
Field Summary
Fields Modifier and Type Field Description (package private) FPGrowth.FPNode[]childrenChildren.(package private) intcountKey, weight, and number of children.(package private) static FPGrowth.FPNode[]EMPTY_CHILDRENConstant for leaf nodes.(package private) intINITIAL_SIZEInitial size, after sizes 0 and 1.(package private) intkeyKey, weight, and number of children.(package private) intnumchildrenKey, weight, and number of children.(package private) FPGrowth.FPNodeparentParent node and next in sequence.(package private) FPGrowth.FPNodesiblingParent node and next in sequence.private static char[]SPACESBuffer for indentation.
-
Constructor Summary
Constructors Constructor Description FPNode(FPGrowth.FPNode parent, int key)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringBuilderappendTo(java.lang.StringBuilder buf, FPGrowth.FPNode.Translator t)Debugging function: build a text representation of the tree.private java.lang.StringBuilderappendTo(java.lang.StringBuilder buf, FPGrowth.FPNode.Translator t, int depth)Debugging function: build a text representation of the tree.private voidensureSize()Ensure we have enough storage.voidinsert(FPGrowth.FPTree tree, int[] buf, int i, int l, int weight)Insert an itemset into the tree.voidreduceMemory()Release the memory occupied for the parent-to-child navigation, which is no longer needed after building the tree (only child-to-parent is needed in extracting itemsets).
-
-
-
Field Detail
-
parent
FPGrowth.FPNode parent
Parent node and next in sequence.
-
sibling
FPGrowth.FPNode sibling
Parent node and next in sequence.
-
key
int key
Key, weight, and number of children.
-
count
int count
Key, weight, and number of children.
-
numchildren
int numchildren
Key, weight, and number of children.
-
children
FPGrowth.FPNode[] children
Children.
-
EMPTY_CHILDREN
static final FPGrowth.FPNode[] EMPTY_CHILDREN
Constant for leaf nodes.
-
INITIAL_SIZE
final int INITIAL_SIZE
Initial size, after sizes 0 and 1.- See Also:
- Constant Field Values
-
SPACES
private static final char[] SPACES
Buffer for indentation.
-
-
Constructor Detail
-
FPNode
public FPNode(FPGrowth.FPNode parent, int key)
Constructor.- Parameters:
parent- Parent nodekey- Key
-
-
Method Detail
-
insert
public void insert(FPGrowth.FPTree tree, int[] buf, int i, int l, int weight)
Insert an itemset into the tree.- Parameters:
buf- Itemset bufferi- Current indexl- Lengthweight- Weight
-
ensureSize
private void ensureSize()
Ensure we have enough storage.
-
appendTo
public java.lang.StringBuilder appendTo(java.lang.StringBuilder buf, FPGrowth.FPNode.Translator t)Debugging function: build a text representation of the tree.- Parameters:
buf- Output buffert- Translator to user-understandable items- Returns:
- Buffer
-
appendTo
private java.lang.StringBuilder appendTo(java.lang.StringBuilder buf, FPGrowth.FPNode.Translator t, int depth)Debugging function: build a text representation of the tree.- Parameters:
buf- Output buffert- Translator to user-understandable itemsdepth- Current depth- Returns:
- Buffer
-
reduceMemory
public void reduceMemory()
Release the memory occupied for the parent-to-child navigation, which is no longer needed after building the tree (only child-to-parent is needed in extracting itemsets).
-
-