2017-10-17 3 views

答えて

0

あなたが使用している言語はわかりませんが、JavaScriptでバイナリツリーを印刷する方法はここにあります。

BinaryTree.prototype.preOrderTraversal = function(node){ 
    if(node !== null){ 
     console.log(node.data); 
     this.preOrderTraversal(node.left); 
     this.preOrderTraversal(node.right); 
    } 
}; 

/** 
* Post traversal prototype function 
*   preforms recursive Postorder traversal on the tree 
* 
* @param start node 
* 
* @return none 
* @throws none 
**/ 
BinaryTree.prototype.postOrderTraversal = function(node){ 
    if(node != null){ 
     this.postOrderTraversal(node.left); 
     this.postOrderTraversal(node.right); 
     console.log(node.data); 
    } 
}; 

/** 
* Inorder traversal prototype function 
*   preforms recursive inorder traversal on the tree 
* 
* @param start node 
* 
* @return none 
* @throws none 
**/ 
BinaryTree.prototype.inOrderTraversal = function(node){ 
    if(node != null){ 
     this.inOrderTraversal(node.left); 
     console.log(node.data); 
     this.inOrderTraversal(node.right); 
    } 
}; 

/** 
* Depth Frist Search prototype function 
*   preforms Depth First Search on the tree 
* 
* @param start node 
* 
* @return none 
* @throws none 
**/ 
BinaryTree.prototype.depthFirstSearch = function(node){ 
     if(node == null) 
      return; 

     var stack = []; 
     stack.push(node); 

     while (stack.length > 0) { 
      console.log(node = stack.pop()); 
      if(node.right!=null) 
       stack.push(node.right); 
      if(node.left!=null) 
       stack.push(node.left);   
     } 
}; 

/** 
* Breadth First Search prototype function 
*   preforms Breadth First Search on the tree 
* 
* @param start node 
* 
* @return none 
* @throws none 
**/ 
BinaryTree.prototype.breadthFirstSearch = function(node){ 
    if(node == null) 
     return; 

    var queue = []; 
    queue.push(node); 

    while (queue.length > 0) { 
     console.log((node = queue.shift())); 
     if(node.left != null) 
      queue.push(node.left);   
     if(node.right != null) 
      queue.push(node.right); 

    } 
}; 

C#、Javaでより多くの例、here

Visual Basicがあります。
関連する問題