递归算法和循环算法的转换

类别:Java 点击:0 评论:0 推荐:
递归算法和循环算法的转换.
如一个在二插树中查找一个数字的循环实现:

Node findSixNode(Node root){
    Node curNode = root;
   while(curNode){
        if(curNode.getValue() == 6) return curNode;
        else if(curNode.getValue() < 6) curNode = curNode.getRight();
        else if(curNode.getValue() > 6) curNode = curNode.getLeft();
  }
  return null;
}

递归实现:
Node findSixNode(Node root){
  if(!root) return null;
  else if(root.getValue() == 6) return root;
  else if(root.getValue() <  6) return findSix(root.getRight());
  else if(root.getValue() > 6) return findSix(root.getLeft());
}

}

本文地址:http://com.8s8s.com/it/it12976.htm