com.hankcs.hanlp.algoritm.ahocorasick.interval
类 IntervalNode

java.lang.Object
  继承者 com.hankcs.hanlp.algoritm.ahocorasick.interval.IntervalNode

public class IntervalNode
extends Object

线段树上面的节点,实际上是一些区间的集合,并且按中点维护了两个节点


构造方法摘要
IntervalNode(List<Intervalable> intervals)
          构造一个节点
 
方法摘要
protected  void addToOverlaps(Intervalable interval, List<Intervalable> overlaps, List<Intervalable> newOverlaps)
          添加到重叠区间列表中
protected  List<Intervalable> checkForOverlaps(Intervalable interval, com.hankcs.hanlp.algoritm.ahocorasick.interval.IntervalNode.Direction direction)
          寻找重叠
protected  List<Intervalable> checkForOverlapsToTheLeft(Intervalable interval)
          往左边寻找重叠
protected  List<Intervalable> checkForOverlapsToTheRight(Intervalable interval)
          往右边寻找重叠
 int determineMedian(List<Intervalable> intervals)
          计算中点
protected static List<Intervalable> findOverlappingRanges(IntervalNode node, Intervalable interval)
          是对IntervalNode.findOverlaps(Intervalable)的一个包装,防止NPE
 List<Intervalable> findOverlaps(Intervalable interval)
          寻找与interval有重叠的区间
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

IntervalNode

public IntervalNode(List<Intervalable> intervals)
构造一个节点

参数:
intervals -
方法详细信息

determineMedian

public int determineMedian(List<Intervalable> intervals)
计算中点

参数:
intervals - 区间集合
返回:
中点坐标

findOverlaps

public List<Intervalable> findOverlaps(Intervalable interval)
寻找与interval有重叠的区间

参数:
interval -
返回:

addToOverlaps

protected void addToOverlaps(Intervalable interval,
                             List<Intervalable> overlaps,
                             List<Intervalable> newOverlaps)
添加到重叠区间列表中

参数:
interval - 跟此区间重叠
overlaps - 重叠区间列表
newOverlaps - 希望将这些区间加入

checkForOverlapsToTheLeft

protected List<Intervalable> checkForOverlapsToTheLeft(Intervalable interval)
往左边寻找重叠

参数:
interval -
返回:

checkForOverlapsToTheRight

protected List<Intervalable> checkForOverlapsToTheRight(Intervalable interval)
往右边寻找重叠

参数:
interval -
返回:

checkForOverlaps

protected List<Intervalable> checkForOverlaps(Intervalable interval,
                                              com.hankcs.hanlp.algoritm.ahocorasick.interval.IntervalNode.Direction direction)
寻找重叠

参数:
interval - 一个区间,与该区间重叠
direction - 方向,表明重叠区间在interval的左边还是右边
返回:

findOverlappingRanges

protected static List<Intervalable> findOverlappingRanges(IntervalNode node,
                                                          Intervalable interval)
是对IntervalNode.findOverlaps(Intervalable)的一个包装,防止NPE

参数:
node -
interval -
返回:
另请参见:
findOverlaps(Intervalable)


Copyright © 2014–2015 码农场. All rights reserved.