• 締切済み

アルゴリズム フローチャート

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 + " "); } } フローチャートをサブルーチンを含めて教えていただきたいです。 フローチャートだけでもいいです。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

たとえば static void preorder(Node node) { if ( node == null ) return; printNode(node); preorder(node.left); preorder(node.right); } これ。 start ↓ <node == null>→yes→ return ↓ printNode(node); ↓ preorder(node.left); ↓ preorder(node.right); ↓ return これだけ。 フローチャートと呼ぶもおこがましいものです。 ネットで質問して答え待ってる間に書けます。 覚える気が無いのなら、プログラミングなんかやめましょう。