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 + -
显示快捷键?