アルゴリズム フローチャート
class Node {
char value;
Node left;
Node right;
public Node(char value, Node left, Node right) {
this.value = value;
this.left = left;
this.right = right;
}
public static void main(String[] args) {
Node root =
new Node('F',
new Node('B',
new Node('A', null, null),
new Node('D',
new Node('C',null,null),
new Node('E',null,null)
)
),
new Node('G',
null,
new Node('I',
new Node('H',null, null),
null
)
)
);
System.out.println("前順走査");
preorder(root);
System.out.println();
System.out.println("中間走査");
inorder(root);
System.out.println();
System.out.println("後順走査");
postorder(root);
}
static void preorder(Node node) {
if ( node == null ) return;
printNode(node);
preorder(node.left);
preorder(node.right);
}
static void inorder(Node node) {
if ( node == null ) return;
inorder(node.left);
printNode(node);
inorder(node.right);
}
static void postorder(Node node) {
if ( node == null ) return;
postorder(node.left);
postorder(node.right);
printNode(node);
}
static void printNode(Node node) {
if( node != null )
System.out.print(node.value + " ");
}
}
フローチャートをサブルーチンを含めて教えていただきたいです。
フローチャートだけでもいいです。