public static TopTreebankNode getTopNode(TreebankNode inTree) { TreebankNode cur = inTree; TopTreebankNode top = null; while(!(cur instanceof TopTreebankNode)){ cur = cur.getParent(); } top = (TopTreebankNode) cur; return top; }
public static TopTreebankNode getRoot(TreebankNode n){ TopTreebankNode ret = null; while(!(n instanceof TopTreebankNode)){ n = n.getParent(); } ret = (TopTreebankNode) n; return ret; }
public static TopTreebankNode getRoot(TreebankNode n){ TopTreebankNode ret = null; while(!(n instanceof TopTreebankNode)){ n = n.getParent(); } ret = (TopTreebankNode) n; return ret; }
public static TopTreebankNode getRoot(TreebankNode n){ TopTreebankNode ret = null; while(!(n instanceof TopTreebankNode)){ n = n.getParent(); } ret = (TopTreebankNode) n; return ret; }
public static TopTreebankNode getRoot(TreebankNode n){ TopTreebankNode ret = null; while(!(n instanceof TopTreebankNode)){ n = n.getParent(); } ret = (TopTreebankNode) n; return ret; }
public static TopTreebankNode getTopNode(TreebankNode inTree) { TreebankNode cur = inTree; TopTreebankNode top = null; while(!(cur instanceof TopTreebankNode)){ cur = cur.getParent(); } top = (TopTreebankNode) cur; return top; }
public static Queue<TreebankNode> initializeQueue(TreebankNode X, TreebankNode Y){ Queue<TreebankNode> q = new LinkedList<TreebankNode>(); while(Y.getParent() != X){ Y = Y.getParent(); } for(int i = 0; i < X.getChildren().size(); i++){ TreebankNode n = X.getChildren(i); q.add(n); if(n == Y) break; } return q; }
public static Queue<TreebankNode> initializeQueue(TreebankNode X, TreebankNode Y){ Queue<TreebankNode> q = new LinkedList<TreebankNode>(); while(Y.getParent() != X){ Y = Y.getParent(); } for(int i = 0; i < X.getChildren().size(); i++){ TreebankNode n = X.getChildren(i); q.add(n); if(n == Y) break; } return q; }
public static TreebankNode getLCA(TreebankNode t1, TreebankNode t2){ TreebankNode temp = null; if(t2.getBegin() < t1.getBegin()){ temp = t1; t1 = t2; t2 = temp; } TreebankNode lca = t2; while(lca != null && (lca.getBegin() > t1.getBegin() || lca.getEnd() < t1.getEnd())){ lca = lca.getParent(); } return lca; }