eulertour.java

来自「为什么这个网站要弄这么麻烦啊??真是搞不明白」· Java 代码 · 共 33 行

JAVA
33
字号
/** * Template for algorithms traversing a binary tree using an Euler * tour. The subclasses of this class will redefine some of the * methods of this class to create a specific traversal. */public abstract class EulerTour {  protected InspectableBinaryTree tree;   public Object execute(BinaryTree T) {    tree = T;    return null;  // nothing interesting to return  }  protected Object eulerTour(Position p) {    TraversalResult r = initResult();    if (tree.isExternal(p)) {      visitExternal(p, r);    } else {      visitLeft(p, r);      r.leftResult = eulerTour(tree.leftChild(p)); // recursive traversal      visitBelow(p, r);      r.rightResult = eulerTour(tree.rightChild(p)); // recursive traversal      visitRight(p, r);    }    return result(r);  }  // methods that can be redefined by the subclasses  protected void visitExternal(Position p, TraversalResult r) {}  protected void visitLeft(Position p, TraversalResult r) {}  protected void visitBelow(Position p, TraversalResult r) {}  protected void visitRight(Position p, TraversalResult r) {}  protected TraversalResult initResult() { return new TraversalResult(); }  protected Object result(TraversalResult r) { return r.finalResult; }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?