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#, 자바에 더 많은 예제가 있습니다 here