www.pudn.com > datamining.rar > C.java


 //package cn.edu.tsinghua.ss.liuhongxin; 
 
import java.util.ArrayList; 
 
/** 
 * 频繁k-项候选集 
 */ 
public class C { 
 
  /** 
   * 项的组 
   */ 
  private Item[] items; 
 
  /** 
   * 阶数k 
   */ 
  private int k; 
 
  public C(Item[] items, int k) { 
    this.items = items; 
    this.k = k; 
  } 
   
  public Item[] getItems() { 
    return items; 
  } 
   
  public int getK() { 
    return k; 
  } 
   
  /** 
   * 得到c对应的同阶L,即去处c中小于最小支持度阈值的项所剩余的,即为对应阶的频繁k-项集 
   */ 
  public L getL(double minimumSupport) { 
    ArrayList itemArrayList = new ArrayList(); 
    for (int i = 0; i < items.length; i++) { 
      if (items[i].getSupport() > minimumSupport) { 
        itemArrayList.add(items[i].clone()); 
      } 
    } 
    if (itemArrayList.size() == 0) { 
      return new L(null, k); 
    } 
    Item[] itemArray = new Item[itemArrayList.size()]; 
    for (int i = 0; i < itemArrayList.size(); i++) { 
      itemArray[i] = (Item) itemArrayList.get(i); 
    } 
    return new L(itemArray, k); 
  } 
 
  public boolean isEmpty() { 
    if (items == null || items.length == 0) { 
      return true; 
    } else { 
      return false; 
    } 
  } 
 
}