首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

读代码-Pattern跟FrequentPatternMaxHeap

2012-07-04 
读代码-Pattern和FrequentPatternMaxHeappackage org.apache.mahout.fpm.pfpgrowth.fpgrowthpublic class

读代码-Pattern和FrequentPatternMaxHeap
package org.apache.mahout.fpm.pfpgrowth.fpgrowth;
public class Pattern implements Comparable<Pattern>

pattern封装了一组item,每个item的support值,整体的support值

  private boolean addPattern(Pattern frequentPattern) {    if (subPatternCheck) {      Long index = frequentPattern.support();      if (patternIndex.containsKey(index)) {        Set<Pattern> indexSet = patternIndex.get(index);        boolean replace = false;        Pattern replacablePattern = null;        for (Pattern p : indexSet) {          if (frequentPattern.isSubPatternOf(p)) {            return false;          } else if (p.isSubPatternOf(frequentPattern)) {            replace = true;            replacablePattern = p;            break;          }        }        if (replace) {          indexSet.remove(replacablePattern);          if (!indexSet.contains(frequentPattern) && queue.add(frequentPattern)) {            indexSet.add(frequentPattern);          }          return false;        }        queue.add(frequentPattern);        indexSet.add(frequentPattern);      } else {        queue.add(frequentPattern);        Set<Pattern> patternList;        if (!patternIndex.containsKey(index)) {          patternList = new HashSet<Pattern>();          patternIndex.put(index, patternList);        }        patternList = patternIndex.get(index);        patternList.add(frequentPattern);      }    } else {      queue.add(frequentPattern);    }    return true;  }

热点排行