二叉树查找

二叉树中查找算法:

JAVA代码:

    /**
     * @author hbliu
     * @param data
     * @return 找到的结点
     */
    public Node searchNode(int data){
        return searchNode(this.root,data);
    }
    
    /**
     * @author hbliu
     * @param node
     * @param data
     * @return
     * 功   能:二叉树中查找数据元素
     */
    private Node searchNode(Node node,int data){
        Node searchResutlNode = null;
        if(node == null){
            return  null;
        }
        
        if(node.data == data){
            return node;
        }
        
        if(node.leftNode != null){
            searchResutlNode = searchNode(node.leftNode,data);
            if( searchResutlNode != null ) return searchResutlNode;
        }
        
        if(node.rightNode != null){
            searchResutlNode = searchNode(node.rightNode,data);
            if( searchResutlNode != null ) return searchResutlNode;
        }
        return null;
    }
原文地址:https://www.cnblogs.com/Berryxiong/p/6434574.html